我正在处理BeautifulSoup,也尝试着使用MechanicalSoup,我已经将它与其他网站一起加载,但当我请求请求该网站时,它需要很长时间,然后再也没有真正得到它。任何想法都会非常有帮助。
下面是我正在编写的BeautifulSoup代码:
import urllib3
from bs4 import BeautifulSoup as soup
url = 'https://www.apartments.com/apartments/saratoga-springs-ut/1-bedrooms/?bb=hy89sjv-mN24znkgE'
http = urllib3.PoolManager()
r = http.request('GET', url)下面是Mechanicalsoup的代码:
import mechanicalsoup
browser = mechanicalsoup.Browser()
url = 'https://www.apartments.com/apartments/saratoga-springs-ut/1-bedrooms/'
page = browser.get(url)
page我正在尝试做的是收集不同城市和公寓的数据,所以url会变成两间卧室,然后是三间卧室,然后它会移动到不同的城市,在那里做同样的事情,所以我真的需要这部分工作。
任何帮助都将不胜感激。
发布于 2021-04-28 05:26:23
import urllib3
import requests
from bs4 import BeautifulSoup as soup
headers = requests.utils.default_headers()
headers.update({
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36'
})
url = 'https://www.apartments.com/apartments/saratoga-springs-ut/1-bedrooms/'
r = requests.get(url, headers=headers)
rContent = soup(r.content, 'lxml')
rContent正如Tim所说,我需要向我的代码添加头文件,以确保它不是从机器人读取的。
发布于 2021-04-28 05:10:53
如果您使用curl或wget来获取页面,也会看到同样的情况。我的猜测是,他们正在使用浏览器检测,试图防止人们窃取他们的版权信息,就像你试图做的那样。您可以搜索User-Agent标头,看看如何伪装成另一个浏览器。
https://stackoverflow.com/questions/67290645
复制相似问题