使用python(Beautifulsoup)进行网页抓取
我刚刚开始学习使用python使用python(Beautifulsoup)进行网页抓取,python,web-scraping,beautifulsoup,python-requests,Python,Web Scraping,Beautifulsoup,Python Requests,我刚刚开始学习使用pythonBeautifulsoup和请求库以及使用Pycharm工具进行web抓取 导入请求 从bs4导入BeautifulSoup result1=请求。获取(“https://www.grainger.com/") 打印('result1为'+str(result1.状态\代码)) 当我使用这个网站时,它会不断加载,如果我使用google.com它会给出输出 我想知道为什么我没有得到上述网站的输出?嗯。。。有几件事 该网站可能不存在 您正在使用http而不是https
Beautifulsoup
和请求库以及使用Pycharm工具进行web抓取
导入请求
从bs4导入BeautifulSoup
result1=请求。获取(“https://www.grainger.com/")
打印('result1为'+str(result1.状态\代码))
当我使用这个网站时,它会不断加载,如果我使用google.com
它会给出输出
我想知道为什么我没有得到上述网站的输出?嗯。。。有几件事
要从此站点获取状态
200
,请指定User-Agent
HTTP头:
import requests
from bs4 import BeautifulSoup
headers = {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:81.0) Gecko/20100101 Firefox/81.0'}
result1 = requests.get("https://www.grainger.com/", headers=headers)
print('result1 is '+ str(result1.status_code))
印刷品:
result1 is 200
这样做之所以有效,是因为有些网站会忽略那些似乎不是从web浏览器发出的请求。默认情况下,使用用户代理
python请求
,因此网站可以告诉您不是从web浏览器请求网站。您的请求挂起并最终超时的原因可能是因为他们的服务器忽略了您的请求