我正在尝试运行一个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']