大家好,本文将围绕python爬取新闻网站内容展开说明,python爬取新闻内容报告是一个很多人都想弄明白的事情,想搞清楚python爬取新闻内容代码需要先了解以下几个事情。
1. 新建项目
在命令行窗口下输入scrapy startproject news,如下
然后就自动创建了相应的文件,如下
关于每一个文件的作用,上一个博客上有详细介绍,可以回头看一下
2. 修改itmes.py文件
打开scrapy框架自动创建的items.py文件,如下
编写里面的代码,确定我要获取的信息,比如线程,新闻标题,url,时间,来源,来源的url,新闻的内容等
import scrapy
class NewsItem(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
news_thread = scrapy.Field()
news_title = scrapy.Field()
news_url = scrapy.Field()
news_time = scrapy.Field()
news_source = scrapy.Field()
source_url = scrapy.Field()
news_body = scrapy.Field()
3. 定义spider,创建一个爬虫模板
3.1 创建crawl爬虫模板
在命令行窗口下面 创建一个crawl爬虫模板(注意在文件的根目录下面,指令检查别输入错误,-t 表示使用后面的crawl模板),会在spider文件夹生成一个news163.py文件
然后看一下这个‘crawl’模板和一般的模板有什么区别,多了链接提取器还有一些爬虫规则,这样就有利于我们做一些深度信息的爬取
3.2 补充知识点:selectors选择器
支持xpath和css,其中css选择器之前的爬虫案例中介绍过了,这里是补充xpath的操作,xpath语法如下
/html/head/title
/html/head/title/text()
//td (深度提取的话就是两个/)
//div[@class=‘mine’]
3.3. 分析网页内容
在谷歌chrome浏览器下,打在网页新闻的网站,选择查看源代码,确认我们可以获取到itmes.py文件的内容(其实那里面的要获取的就是查看了网页源代码之后确定可以获取的)
确认标题、时间、url、来源url和内容可以通过检查和标签对应上,比如正文部分