Mr_Ljin 2017-08-25 04:02 采纳率: 0%
浏览 1122

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条回答 默认 最新

  • 1000001000,,,, 2017-08-25 09:08
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向