有没有办法抓取URL中的每个页面
例如https://gogo.mn/查找URL中的每个文章页面
以下是我到目前为止的情况。问题是新闻文章模式很奇怪,例如https://gogo.mn/r/qqm4m
所以像下面这样的代码永远找不到文章
base_url = 'https://gogo.mn/'
for i in range(number_pages):
url = base_url+str(i)
req = requests.get(url)
soup = BeautifulSoup(req.content)
我如何抓取这样的网站
Tags:
最简单的方法是首先从网站获取页面。这可以通过以下方式实现:
然后,页面包含在响应变量中,您可以通过查看response.text来检查该变量
现在使用BeautifulSoup查找页面上包含的所有链接:
这将返回一个bs4.element.ResultSet类型,该类型可以使用for循环进行迭代。查看您的特定站点,我发现它们的许多链接中都不包含baseURL,因此必须对URL进行一些规范化
一旦你做到了这一点,你就拥有了给定页面的所有链接。然后,您需要消除重复项,并为每个页面运行新页面上的链接。这将涉及递归地遍历您找到的所有链接
问候
我没有用刮痧。但要仅使用
request
和BeautifulSoup
获取所有内容,您需要找到网站的索引页(有时是存档或搜索结果),保存所有页面的URL,循环浏览URL,并保存页面内容相关问题 更多 >
编程相关推荐