python 爬取帖子的链接遇到的问题并解决

在使用XPath尝试抓取贴吧帖子链接时,发现返回结果为空。经检查,发现帖子链接在HTML中被注释掉,导致XPath无法匹配。通过正则表达式替换注释符号,然后重新应用XPath,成功获取到帖子链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import urllib2
import urllib
from lxml import etree
def tieba_spider(fullurl):
    headers = {
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36"
    }
    request = urllib2.Request(fullurl,headers = headers)
    html = urllib2.urlopen(request).read()
    content = etree.HTML(html)
    link_list = content.xpath('//div[@class="t_con cleafix"]/div/div/div/a/@href')
    for link in link_list:
        print link
if __name__ == '__main__':
    fullurl = "http://tieba.baidu.com/f?kw=lol&pn=0"
    tieba_spider(fullurl)

这是一开始的代码,xpath用google浏览器上面的插件xpath-helper验证过,没有问题,但返回的link_list就是空,一开始我还查以为是google的xpath-helper插件有问题,查找资料发现不是,于是我就怀疑问题出在返回的html中,我就先用xpath查找头部,发现可以返回,看贴吧那页的源代码,发现帖子那些居然被注释了&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值