Django美丽汤改变用户代理 - 没有影响

时间:2015-10-31 02:40:10

标签: django web-scraping beautifulsoup

我正在尝试运行一个webscrapping应用程序。但是,此代码仅适用于某些站点,即使我设置了用户代理(尝试了几个不同的代理)。此代码适用于我的开发站点(托管在pythonanywhere的子域上),但不在我的生产站点上。所以好像我被某些网站阻止了(尽管如果有的话,我根本就没有访问它们)。有任何想法吗?我可以简单地通过电子邮件发送网站,看看我是否可以获得访问权限,因为我没有做任何恶意的事情。

url = request.GET['url']
    import requests
    from bs4 import BeautifulSoup
    r = requests.get(url)
    soup = BeautifulSoup(r.content)
    soup = BeautifulSoup(r.content, "html.parser")

    if not soup.find('meta', property="og:title"):
        title = soup.title.string
    else:
        title = soup.find('meta', property="og:title")['content']

    if "403" in title or not title:
        import urllib2
        opener = urllib2.build_opener()
        opener.addheaders = [('User-agent', 'Mozilla/5.0')]
        response = opener.open(url)
        page = response.read()
        soup = BeautifulSoup(page)

        if not soup.find('meta', property="og:title"):
            title = soup.title.string
        else:
            title = soup.find('meta', property="og:title")['content']

0 个答案:

没有答案