jing980704
Mr_Ljin
采纳率0%
2017-08-25 04:02 阅读 1.1k

Python+XPath网页爬虫问题

我希望制作百度贴吧的一个小爬虫,爬取内容包括一个帖子中的发帖人、发帖内容,测试网页为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
回帖内容: 马克一下。
不知道哪里出了问题。。。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • pzhw520hchy 1000001000,,,, 2017-08-25 09:08

    先检查爬取的网页源代码,看是否正确,是否与原网站一致;
    考虑是否需要添加cookie信息

    点赞 评论 复制链接分享

相关推荐