一、爬虫模块
一级爬虫更新
- 新增对搜狗搜索引擎的爬取
- 所有一级爬虫增加对信息数据来源的爬取
二级爬虫更新
本周基本完成了scrapy爬虫框架的开发,增强了百度新闻爬虫的功能,使其可以对网页完成二级爬取。后续将以此模板,探索通用性爬虫。
用于存储数据的数据结构:
class SpiderBaiduItem(scrapy.Item):
title = scrapy.Field()
url = scrapy.Field()
source = scrapy.Field()
timestamp = scrapy.Field()
detail = scrapy.Field()
在爬虫文件内处理网站的结构以及后续的储存,相关代码:
import scrapy
from ..items import SpiderBaiduItem
import datetime
class MyspiderSpider(scrapy.Spider):
name = 'myspider'
# allowed_domains = ['baidu.com']
start_urls = ['https://www.baidu.com/s?rtt=1&bsst=1&cl=2&tn=news&rsv_dl=ns_'
'pc&word=%E5%B1%B1%E4%B8%9C%E5%A4%A7%E5%AD%A6&x_bfe_rqs=03E80&x_bfe_tjscore=0.100000&'
'tngroupname=organic_news&newVideo=12&pn=0']
url = 'https://www.baidu.com/s?rtt=1&bsst=1&cl=2&tn=news&rsv_dl=ns_'\
'pc&word=%E5%B1%B1%E4%B8%9C%E5%A4%A7%E5%AD%A6&x_bfe_rqs=03E80&x_bfe_tjscore=0.100000&'\
'tngroupname=organic_news&newVideo=12&pn={}'
page = 0
def parse(self, response):
# 在一级界面中,获取网页上的标题,链接,来源,时间戳
# items储存网页信息
# print('当前网页的源码为: ' + response.body_as_unicode())
# print(response.xpath("//div[@class='result-op c-container xpath-log new-pmd']//h3//a/text()"))
current_time = datetime.datetime.now()
times