前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >盘点一个Python网络爬虫的报错问题

盘点一个Python网络爬虫的报错问题

作者头像
前端皮皮
发布2024-05-02 19:08:59
430
发布2024-05-02 19:08:59
举报

一、前言

前几天在Python白银交流群【小白邢汝嘉】问了一个Python基础的问题,提问截图如下:

代码如下:

代码语言:javascript
复制
from pyquery import PyQuery as pq
import requests
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"}
url = "https://s.weibo.com/top/summary?cate=socialevent"
response = requests.request('get', url, headers=headers)
content_all = response.content.decode('utf-8')
doc = pq(content_all)             # 实例化对象
items = doc('tbody')              # 获取表格中内容
content=items('.td-02').items()   # 获取热搜单元格
for c in content:
    name=c('a').text()            # 获取链接中的文本
    print(name)

报错截图如下:

二、实现过程

这里【甯同学】指出编码问题,如下所示:

不过看上去还是报错。后来【瑜亮老师】和【猫药师Kelly】指出需要把浏览器里面的cookies加进headers里面。

不过粉丝初学者,不太会加这个东东,加上去之后,又少逗号啥的,这里【dcpeng】直接给了一份正确的代码,如下所示:

代码语言:javascript
复制
from pyquery import PyQuery as pq
import requests

headers = {
    "User-Agent": "Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/63.0.3239.132Safari/537.36",
    "Cookie": '你的cookie值'
}

url = "https://s.weibo.com/top/summary?cate=socialevent"
response = requests.request('get', url, headers=headers)
content_all = response.content
doc = pq(content_all)  # 实例化对象
items = doc('tbody')  # 获取表格中内容
content = items('.td-02').items()  # 获取热搜单元格
for c in content:
    name = c('a').text()  # 获取链接中的文本
    print(name)

运行之后,即可得到正确的结果:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-04-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python共享之家 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 二、实现过程
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档