我希望制作百度贴吧的一个小爬虫,爬取内容包括一个帖子中的发帖人、发帖内容,测试网页为https://tieba.baidu.com/p/3905531791,爬取1-5页的内容,代码如下:
# -*- coding:utf-8 -*-
from lxml import etree
from multiprocessing.dummy import Pool as ThreadPool
import requests
import re
# import json
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
def write(content):
f.writelines(u'回帖人:'+str(content['user_name'])+'\n')
f.writelines(u'回帖内容:'+unicode(content['content'])+'\n')
def spider(url):
html = requests.get(url)
# print html.text
selector = etree.HTML(html.text)
content_field = selector.xpath('//div[@class="l_post l_post_bright j_l_post clearfix "]')
item = {}
for each in content_field:
print content_field[0]
print each
author = each.xpath('//*/li[@class="d_name"]/a/text()')[0]
content = each.xpath('//*/div[@class="p_content "]/cc/div/text()')[0]
num = each.xpath('//*/div[@class="post-tail-wrap"]/span[@class="tail-info"]/text()')
print content
print author
item['user_name'] = author
item['content'] = content
write(item)**
if __name__ == '__main__':
pool = ThreadPool(4)
f = open('content.txt','w')
page=[]
for i in range(1,6):
newpage = 'https://tieba.baidu.com/p/3905531791?pn=' + str(i)
page.append(newpage)
results = pool.map(spider,page)
pool.close()
pool.join()
f.close()
但问题出现在,每次for循环中提取的信息都一样,每一页的发帖人和发帖内容都一样
如下:
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:末日灬圣帝君王
回帖内容: 这个支持一下
回帖人:lis945945
回帖内容: 马克一下。
回帖人:lis945945
回帖内容: 马克一下。
回帖人:lis945945
回帖内容: 马克一下。
回帖人:lis945945
回帖内容: 马克一下。
回帖人:lis945945
回帖内容: 马克一下。
回帖人:lis945945
回帖内容: 马克一下。
回帖人:lis945945
回帖内容: 马克一下。
回帖人:lis945945
回帖内容: 马克一下。
不知道哪里出了问题。。。
先检查爬取的网页源代码,看是否正确,是否与原网站一致;
考虑是否需要添加cookie信息