ZCC的专栏

每天坚持看书和写作,相信每天的一小步,将会是人生的一大步! 形成、知化、流动、屏读、使用、共享、过滤、重混、互动、追踪、提问、开始!...

爬虫的定向爬取

一、爬虫的定向爬取技术: 根据设置的主题,对要爬取的网址或者网页中的内容进行筛选。


二、爬虫的信息筛选方法

         (1) 通过正则表达式筛选


         (2)通过XPath表达式筛选 (Scrapy经常使用)


         (3)通过xslt 筛选


三、定向爬虫实战爬取评论内容

import urllib.request
import http.cookiejar
import re
#视频编号
vid="1472528692"
#刚开始时候的评论ID
comid="6173403130078248384"
url= "http://coral.qq.com/article/"+vid+"/comment?commentid="+comid+"&reqnum=20"
headers={ "Accept":" text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
                        "Accept-Encoding":" gb2312,utf-8",
                        "Accept-Language":" zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3",
                          "User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0",
                        "Connection": "keep-alive",
                        "referer":"qq.com"}
cjar=http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cjar))
headall=[]
for key,value in headers.items():
    item=(key,value)
    headall.append(item)
opener.addheaders = headall
urllib.request.install_opener(opener)
#建立一个自定义函数craw(vid,comid),实现自动抓取对应评论网页并返回抓取数据
def craw(vid,comid):
    url= "http://coral.qq.com/article/"+vid+"/comment?commentid="+comid+"&reqnum=20"
    data=urllib.request.urlopen(url).read().decode("utf-8")
    return data
idpat='"id":"(.*?)"'
userpat='"nick":"(.*?)",'
conpat='"content":"(.*?)",'
#第一层循环,代表抓取多少页,每一次外层循环抓取一页
for i in range(1,10):
    print("------------------------------------")
    print("第"+str(i)+"页评论内容")
    data=craw(vid,comid)
    #第二层循环,根据抓取的结果提取并处理每条评论的信息,一页20条评论
    for j in range(0,20):
        idlist=re.compile(idpat,re.S).findall(data)
        userlist=re.compile(userpat,re.S).findall(data)
        conlist=re.compile(conpat,re.S).findall(data)
        print("用户名是 :"+eval('u"'+userlist[j]+'"'))
        print("评论内容是:"+eval('u"'+conlist[j]+'"'))
        print("\n")
    #将comid改变为该页的最后一条评论id,实现不断自动加载
    comid=idlist[19]

 

        

      

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012017783/article/details/75647284
个人分类: python爬虫
上一篇爬虫的浏览器伪装
下一篇常见python爬虫框架
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭