Python语言学习:用 python 访问toutiao.com的正确姿势

记录一下用 requests + BeautifulSoup 访问头条的过程
更新于: 2022-03-06 04:05:36

我要做的几件事情

准备工具

  • 主要的工具: requests/beautifulsoup4
  • ua的伪装: fake_useragent
pip install requests beautifulsoup4
pip install fake_useragent
import http.cookiejar as cookielib
import requests
import jsw_nx as nx
import random
from bs4 import BeautifulSoup
from fake_useragent import UserAgent

jar = requests.cookies.RequestsCookieJar()
ua = UserAgent()
jar.set('ttwid', str(random.random()))
res = requests.get('https://so.toutiao.com/search?dvpf=pc&source=input&keyword=js.work&page_num={page}&pd=synthesis',
                   cookies=jar,
                   headers={'User-Agent': ua.ie})
doc = BeautifulSoup(res.text, "html.parser")
jar = res.cookies
print(jar.get_dict())
print(doc.title)

今日头条之”千人千面“

特别注意这一句代码,针对未登录用户,这个就是生成一个随机的 toutiao 用户id

如果这里登录用户,用上自己的 cookie,则会展示不同的数据出来。

jar.set('ttwid', str(random.random()))

cookiejar 的常用方法

  • set
  • get
  • update
import requests

jar = requests.cookies.RequestsCookieJar()
jar.set('ttwid', "the random string")
jar.update({"version": "1.0.0"})

print(jar.get('ttwid'))
print(jar.get_dict())
the random string
{'ttwid': 'the random string', 'version': '1.0.0'}

参考