① 使用python爬虫时,遇到多页,需要翻页,下一页时怎么处理
例子如下:
item1 = Item()
yield item1
item2 = Item()
yield item2
req = Request(url='下一判亮页尺搜的链接', callback=self.parse)
yield req
注意:使用yield时不要用return语句。掘困宽
② 学python,写了个函数获取这个网站当前板块下一页地址,我再怎么循环调用这个函数去获取后10页的地址呢
用while true无限循环先判断是否有下一页,如果有则继续调用get_next_pages方判好法,如果没有则跳出掘激铅循环
url = "铅亏第一页网址"
while true:
next_page =get_next_pages(url)
if next_page:
get_next_pages(next_page)
else:
break
③ Python爬虫怎么获取下一页的URL和网页内容
用浏览器调试工具,如firebug,查看点击下一页时的http请求,再用python模拟就行了。
④ python爬虫怎么获取下一页的url
首先,你得了解那个网站的每一手凳页是怎么区分的。例如第毕物旅一页他显示为input-1.html,第二页显示为input-2.html 第三页显示为input-3.html 找到网站每一页的规律,然后循环即可。
我这里给你一个抓取博客内蚂山容的简单例子,你自己看看。
⑤ 如何在scrapy框架下,用python实现爬虫自动跳转页面来抓去网页内容
(1)一种是像我之前爬虫新京报网的新闻,下一页的url可以通过审查元素获得,第一页的网址是http://www.bjnews.com.cn/news/list-43-page-1.html
在第一页的时候,下一页按钮的审查元素是
我们通过获取next_pages = response.xpath('//div[@id="page"]/a[@class="next"]/@href').extract()[0]
,便可以得到下一页的url,next_page = "http://www.bjnews.com.cn" + next_pages,
这一部分的完整代码为:
page_link=set() #保存下一页页面url
content_link=set() #保存页面内所有可获得的url
rules={'page':LinkExtractor(allow=(r'^http://www.bjnews.com.cn/\w+/2016/\d{2}/\d{2}/\d{6}.html
))}
start_urls={'http://www.bjnews.com.cn/news/list-43-page-1.html'}
def parse(self, response):
#爬取一个页面内的所有url链接
for link in self.rules['page'].extract_links(response):
if link.url not in self.content_link:
self.page_link.add(link.url)
yield scrapy.Request(link.url, callback=self.parse_item)
#自动获取下一页的url
next_pages = response.xpath('//div[@id="page"]/a[@class="next"]/@href').extract()[0]
if next_pages:
next_page = "http://www.bjnews.com.cn" + next_pages
self.page_link.add(next_page)
yield scrapy.Request(next_page, callback=self.parse)
(2)第二种情况,就是在下一页的审查元素中没有提供url链接,需要自己分析,在这里依然举个例子,比如搜狐新闻http://news.sohu.com/guojixinwen.shtml,该页中下一页按钮的审查元素是:
我们不能通过href来直接过得下一页的url,需要自己手动获得,那现在我们来分析
第二页的url:http://news.sohu.com/guojixinwen_5230.shtml,第三页的http://news.sohu.com/guojixinwen_5229.shtml,最后一页的http://news.sohu.com/guojixinwen_5132.shtml,由此可以分析出这一共100页的url,是http://news.sohu.com/guoneixinwen_"+i+".shtml",其中i是从5230到5132倒序排列的,也就是说通过for循环,就可以获得这100页的所有url,完整代码如下:在这里给大家加一个新的方法的使用start_request,该方法就是子定义start_urls,把所有自定义的url放到page_link中,self.make_requests_from_url方法会自动获取里面的请求
⑥ python爬虫怎么知道最后一页
用过的几种方法唯桐:
1. 正则匹配"下一页"对应的标签,取出其中的url;
2. 搜索下一页的url对应的标签;
3. 第二种方法加一个纪录,如果取出并穗一排的最后指蔽坦一个URL发现是取过的就停止。