python - Python 中的 Scraper 给出 "Access Denied"

标签 python beautifulsoup python-requests

我正在尝试用 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/

相关文章:

python - 如何编写正则表达式来替换单词但在 Python 中保留其大小写?

python - 哪种算法最适合用 Python 解决像 "Boggle"这样的单词搜索游戏

python - 这是引发异常的正确方法吗? ( python )

python - 属性错误 : 'str' object has no attribute 'regex' django 1. 9

python - BeautifulSoup 误解 <area> 标签

python - NoneType 对象不可调用__美汤

python - BeautifulSoup replaceWith() 方法添加转义的 html,希望它不转义

Python 请求 - 授权 token

javascript - Python-Requests,如何动态接收url?

python - 找不到 Microsoft Visual FoxPro 支持库