实训日记7
本周实训,我们使用网络爬虫爬取我们需要的资讯数据。
资讯信息的爬取需要按照我们的数据库设计进行。字段如下图:
选择资讯网站
深刻地体会到了一个结构不清晰的网页对爬虫的劝退效果远各种超反爬虫技术。。。
根据本人的考察,国内所有资讯网站的网页结构都十分混乱,不同类型的资讯所在的网页结构差别巨大,这让我们很难泛化地写出爬虫。
即便如此,我们也要进行爬取,精挑细选我选择了环球网作为本次爬取的目标。
环球网国际板块的结构如下:
然而到了军事板块,网页就变成了这样:
完全不同的结构,怎么办呢,当然是寻找共同点。
根据我仔细观察,两者的超链接都存放在<li>标签中,于是我们对所有类型的资讯网页,都爬取其<li>标签内的内容。至于其中的噪声数据可以在爬虫内部处理。
接下来看文章内部网页:
需要爬取标题,时间,作者,内容。其中内容爬取富文本即可。这一步很简单,找到网页结构中存放数据的标签,记录下即可。
编写爬虫
编写爬虫爬取链接信息,代码如下:
import requests
import random
import urllib
from bs4 import BeautifulSoup
User_Agents =[
'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50',
'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us)