我正在尝试用 Python 编写一个抓取工具以从页面获取一些信息。喜欢此页面上出现的优惠标题:
https://www.justdial.com/Panipat/Saree-Retailers/nct-10420585
现在我使用这段代码:
import bs4
import requests
def extract_source(url):
source=requests.get(url).text
return source
def extract_data(source):
soup=bs4.BeautifulSoup(source)
names=soup.findAll('title')
for i in names:
print i
extract_data(extract_source('https://www.justdial.com/Panipat/Saree-Retailers/nct-10420585'))
但是当我执行这段代码时,它给了我一个错误:
<titlee> Access Denied</titlee>
我该怎么做才能解决这个问题?
最佳答案
如评论中所述,您需要指定允许的用户代理并将其作为 headers
传递:
def extract_source(url):
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0'}
source=requests.get(url, headers=headers).text
return source
关于python - Python 中的 Scraper 给出 "Access Denied",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41982475/