码迷,mamicode.com
首页 > 其他好文 > 详细

Scrapy操作浏览器获取网易新闻数据

时间:2018-12-18 19:37:20      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:pat   encoding   rac   国际   xxx   索引   https   display   win32   

爬虫代码:

技术分享图片
 1 import scrapy
 2 from selenium import  webdriver
 3 
 4 class WangyiSpider(scrapy.Spider):
 5     name = wangyi
 6     # allowed_domains = [www.xxx.com]
 7     start_urls = [https://news.163.com/]
 8 
 9     def __init__(self):
10         self.bro = webdriver.Chrome(rD:\爬虫相关\资料\驱动程序\chromedriver_win32\chromedriver.exe)
11 
12     def parse(self, response):
13         #解析国内国际军事航空对应的url
14         li_list=response.xpath(//div[@class="ns_area list"]/ul/li)
15         #国内国际军事航空对应的索引
16         index_url=[3,4,6,7]
17         #存储四个板块对应的li标签
18         news_list=[]
19         for i in index_url:
20             news_list.append(li_list[i])
21         #解析获取板块的url
22         for li in news_list:
23             url=li.xpath(./a/@href).extract_first()
24             yield  scrapy.Request(url=url,callback=self.parse_news)
25 
26     def parse_news(self,response):
27         print(xxx:,response.xpath(/html/body/div[1]/div[3]/div[4]/div[1]/div/div/ul/li/div/div[3]/div[1]/h3/a/text()).extract_first())
28     def closed(self,spider):
29         self.bro.quit()
爬虫代码

middewares中间件代码:

技术分享图片
 1 from scrapy import signals
 2 from  scrapy.http import HtmlResponse
 3 
 4 
 5 
 6 class WangyiproDownloaderMiddleware(object):
 7     def process_response(self, request, response, spider):
 8         if request.url in [http://news.163.com/air/,http://war.163.com/,http://news.163.com/world/,http://news.163.com/domestic/]:
 9             spider.bro.get(request.url)
10             page_text=spider.bro.page_source#获取数据源
11             return HtmlResponse(url=spider.bro.current_url,body=page_text,encoding=utf-8,request=request)
12         return response
middlewares

 

Scrapy操作浏览器获取网易新闻数据

标签:pat   encoding   rac   国际   xxx   索引   https   display   win32   

原文地址:https://www.cnblogs.com/duanhaoxin/p/10138865.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!