我从蟒蛇身上刮掉的东西和我从萤火虫身上看到的东西不一样

时间:2018-02-09 06:25:21

标签: python python-2.7 beautifulsoup

我正在练习编写一个网络抓取工具来抓取网站上的一些有趣信息。我在我的个人网站上试用这段代码。它可以像我期望的那样工作,但是当我尝试在真实的网站上实现这个代码时,它没有显示它应该显示的内容。有没有人有任何想法?以下是我的代码和结果。

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

来自萤火虫(或铬检查)的结果

enter image description here

在印刷品中显示的标题是"未找到页面 - 404 - AngelList",但是在firebug中显示的标题是"产品经理Job at Parkwhiz - AngelList"。我的代码有什么问题吗?难道这两者不一样吗?

1 个答案:

答案 0 :(得分:3)

当您通过默认User-Agent时,网站会阻止该脚本,该默认>>> r = requests.get('https://angel.co/parkwhiz/jobs/284942-product-manager') >>> r.status_code 404 告诉网站它是一个自动化的Python脚本。

如果您查看状态代码,则会看到您获得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 更改为真正的浏览器:

DECLARE @startTime DateTime;
DECLARE @endTime DateTime;