Python新手初次接触爬虫,有哪些常见问题需要注意?
very new to 爬虫 python 现在在爬取京东评论,虽然能在 network 里面找到 js 加载请求的 url,拿到 json 文件,再改变页数把评论都爬下来 这样我每次爬取一个商品都要手动找 url,python 有没有方法可以不需要我手动把 url 找出来,感觉这种找 URL 的方式有点牵强 更好的做法是什么?请教一下大家
Python新手初次接触爬虫,有哪些常见问题需要注意?
selenium 模拟浏览器了解一下。全部模仿人工操作。
如果出现类似淘宝那种限制的情况,pyqt5 自写浏览器了解一下。
爬虫新手常见问题就几个关键点:
- 请求头要设置User-Agent,很多网站会屏蔽默认请求头
import requests
headers = {'User-Agent': 'Mozilla/5.0'}
response = requests.get(url, headers=headers)
- 处理动态加载内容用Selenium或Playwright
from selenium import webdriver
driver = webdriver.Chrome()
driver.get(url)
content = driver.page_source
- 解析HTML用BeautifulSoup或lxml,别用正则
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, 'lxml')
titles = soup.find_all('h1')
- 加延迟避免被封,用time.sleep或随机间隔
import time, random
time.sleep(random.uniform(1, 3))
- 处理异常和状态码
try:
r = requests.get(url, timeout=10)
r.raise_for_status()
except requests.exceptions.RequestException as e:
print(f"请求失败: {e}")
- 遵守robots.txt,别爬太快
import urllib.robotparser
rp = urllib.robotparser.RobotFileParser()
rp.set_url(f"{domain}/robots.txt")
rp.read()
总结:从简单静态页面开始练手。
京东商品一般有商品 ID 的吧,有 ID 拼接一下就有 URL 了吧,这是以前爬的经验
前几天研究了一下,评论是有一个 api 链接的,然后请求的时候附上产品 id, 还有其他的评论的数量,页数什么的,然后这些递增就可以了,另外图片有水印的,链接改个数字就 ok 了
最近在写京东的爬虫监控的开源项目 有兴趣一起搞吗
我之前做评论的思路是 先上级页面拿商品 id 然后拼接 url 还有就是京东的商品价格也做得很有意思
看了大家的回复 京东评论是 js 再加载请求 可以找到请求的 url json 文件 改变 url 的 page 把评论拿到
这样的确是可以爬取 但是问题是单个商品我可以这样做 如果商品很多不可能一个一个找 而且评论的 url 我是手动 chrome network 找出来的 python 有没有库可以找到这些网络请求 得出请求的网址
主要是这个 url 有的部分是没有规律的吧 商品 id,页数我可以拼接,fetchjson 开头的规律没看出来
关于合作 我还是个没毕业的实习小弟 技术一般 怕是帮不上什么忙了
刚才尝试了 js 的请求 url 里面有些东西删除也没事 可以采取 url 拼接的方式了
现在的问题是如何自动拿到这个 url


