爬虫笔记(10/2)------定向爬取

来源:互联网 发布:淘宝拉帮结派在哪使用 编辑:程序博客网 时间:2024/06/05 19:19

定向爬取步骤:

1)爬取目的

2)设置网址过滤规则

3)设置内容采集规则

4)设置爬虫线程和爬虫数量

5)修正结果格式

6)进一步完善结果


核心内容是信息筛选:

1)正则表达式

2)XPath表达式

3)xslt筛选


加载最新的评论:

import urllib.requestimport http.cookiejarimport re#设置视频编号vid = "1472528692"#设置评论起始编码comid = "6173403130078248384"#构造出真实评论请求网址url = "http://coral.qq.com/article/"+vid+"/comment?commentid="+comid+"&reqnum=20"#设置头信息伪装成浏览器爬取headers = {"Accept":"text/html,application/xhtml+html,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 601;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"}#设置cookiecjar = 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 = headallurllib.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#分别构建筛选id,用户名,评论内容等信息的正则表达式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):        #分别根据正则表达式查找到所有id,用户名,评论内容等信息        idlist = re.compile(idpat,re.S).findall(data)        userlist = re.compile(userpat,re.S).findall(data)        conlist = re.compile(conpat,re.S).findall(data)        #输出对应信息,并对字符串进行unicode编码,从而正常显示        print("用户名是:"+eval('u"'+userlist[i]+'"'))        print("评论内容是:"+eval('u"'+conlist[i]+'"'))        print("\n")    #将comid改变为该页的最后一条评论id,实现不断自动加载    comid = idlist[19]


阅读全文
0 0
原创粉丝点击