我从python那里学到的东西和从firebug那里看到的不一样

2024-05-19 07:23:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在练习写一个网络爬虫从一个网站上抓取一些有趣的信息。我在我的个人网站上尝试这段代码。它的工作原理和我期望的一样,但是当我试图在一个真实的网站上实现这个代码时,它并没有显示它应该显示什么。有人有什么想法吗?下面是我的代码和结果。你知道吗

import requests
from bs4 import BeautifulSoup

url = 'https://angel.co/parkwhiz/jobs/284942-product-manager'
page = requests.get(url).text
soup = BeautifulSoup(page,'lxml')
print soup.prettify()

打印结果

enter image description here

来自firebug(或chrome inspect)的结果

enter image description here

印刷品上显示的标题是“找不到页面-404-AngelList”,但firebug上显示的标题是“parkwiz-AngelList的产品经理工作”。我的代码有什么问题吗?这两个不应该匹配吗?你知道吗


Tags: 代码import网络信息url标题网站page
1条回答
网友
1楼 · 发布于 2024-05-19 07:23:08

当您传递默认值User-Agent时,网站正在阻止脚本,这告诉网站它是一个自动化的Python脚本。你知道吗

如果你检查状态码,你会看到你得到404。你知道吗

>>> r = requests.get('https://angel.co/parkwhiz/jobs/284942-product-manager')
>>> r.status_code
404

要克服这个问题,请将User-Agent更改为真正的浏览器:

>>> headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36'}
>>> r = requests.get('https://angel.co/parkwhiz/jobs/284942-product-manager', headers=headers)
>>> r.status_code
200

相关问题 更多 >

    热门问题