xpath
运行这段代码没有返回值import requestsimport parsel
# 1、 分析目标网页。确定爬取的url路径,header参数
base_url = 'https://tieba.baidu.com/f?kw=%E7%A7%A6%E6%97%B6%E6%98%8E%E6%9C%88&ie=utf-8&pn=50'
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36'}
# 2、发送请求 --requests
response = requests.get(base_url, headers=header)
html_str = response.text
#print(html_str)
# 3、 解析数据 --parsel 转化为selector对象
# 转化数据类型
html = parsel.Selector(html_str)
#print(html)
# 数据解析
title_url = html.xpath('//div[@class="threadlist_lz clearfix"]/div/a/@href').extract()
print(title_url)
第 13 行的代码注释掉了,所以没有输出
第 16 行的话,应该是解析之后为空(None),所以没有输出(这个我不太确定) 本帖最后由 suchocolate 于 2020-4-16 11:27 编辑
你换换User-agent试试。
我这没有parsel包,用的lxml。
然后我换了UA,可以爬到数据。
import requests
from lxml import etree
base_url = 'https://tieba.baidu.com/f?kw=%E7%A7%A6%E6%97%B6%E6%98%8E%E6%9C%88&ie=utf-8&pn=50'
headers = {'User-Agent': 'firefox'}
r = requests.get(base_url, headers=headers)
html = etree.HTML(r.text)
result = html.xpath('//div[@class="threadlist_lz clearfix"]/div/a/@href')
print(result)
页:
[1]