redaiconglin 发表于 2022-3-15 08:18:23

各位老师这段代码中的几个项是如何获取的

import requests# 导入网络请求模块
from lxml import etree# 导入lxml模块

cookies = '此处填写登录后网页中的cookie信息'
headers = {'Host': 'www.douban.com',
         'Referer': 'https://www.hao123.com/',                                          这段网址是如何获取的
         'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '
                         'AppleWebKit/537.36 (KHTML, like Gecko) '
                         'Chrome/72.0.3626.121 Safari/537.36'}
# 创建RequestsCookieJar对象,用于设置cookies信息
cookies_jar = requests.cookies.RequestsCookieJar()
for cookie in cookies.split(';'):
    key, value = cookie.split('=', 1)
    cookies_jar.set(key, value)# 将cookies保存RequestsCookieJar当中
# 发送网络请求
response = requests.get('https://www.douban.com/',
headers=headers, cookies=cookies_jar)
if response.status_code == 200:# 请求成功时
    html = etree.HTML(response.text)# 解析html代码
    # 获取用户名
    name = html.xpath('//*[@id="db-global-nav"]/div/div/ul/li/a/span/text()')                     还有这里的('//*[@id="db-global-nav"]/div/div/ul/li/a/span/text()')这部分是如何获取的
    print(name)# 打印用户名
各位老师如果要通过谷歌浏览器找到这两个地方的数据如何操作。谢谢了

suchocolate 发表于 2022-3-16 01:13:34

浏览器f12进入开发者模式,点网络,然后操作你想跟踪的过程,比如跟踪点击豆瓣网页的过程,之后就会有很多交互,点击你想看的消息的,就会出现header,看就行了。


另外referer和host不一致,一般是出现了跳转,或者主网页加载资源网页。你的代码看起来是跳转。
requests虽然可以模拟header,但header的字段不能随便写。要根据实际跟踪情况而定。
页: [1]
查看完整版本: 各位老师这段代码中的几个项是如何获取的