python-3.x - 网页抓取 olx
问题描述
我刚刚开始进行网络抓取,并决定为汽车价格创建一个抓取工具作为我的第一个项目。我很快遇到了一个问题,当我打印汤对象时,它只打印了几行“服务不可用”和“服务器暂时无法为我的请求提供服务”。为什么会发生这种情况,我该如何解决,在此先感谢!
这是我的代码:
import requests
from bs4 import BeautifulSoup
url = 'https://www.olx.com.eg/en/vehicles/cars-for-sale/'
page = requests.get(url)
soup = BeautifulSoup(page.content, 'html.parser')
print (soup)
解决方案
设置User-Agent
HTTP 标头以获得正确的响应:
import requests
from bs4 import BeautifulSoup
url = 'https://www.olx.com.eg/en/vehicles/cars-for-sale/'
headers = {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:79.0) Gecko/20100101 Firefox/79.0'}
page = requests.get(url, headers=headers)
soup = BeautifulSoup(page.content, 'html.parser')
print (soup)
印刷:
<!DOCTYPE html>
<html lang="en" xmlns:fb="http://www.facebook.com/2008/fbml" xmlns:og="http://ogp.me/ns#">
<head>
<meta content="H1XIF2PCYRBVJS6NaAD2pcbbm2oqGGCj7KenRQGyVGI" name="google-site-verification"/>
<meta content="5A57304F35F5718EAD39F1A8E1EE8D3C" name="msvalidate.01"/>
...and so on.
推荐阅读
- .net - OPC UA 实现订阅机制
- python - 这句话是在试图调用子方法吗?
- php - 将 dataurl 发布到 php
- python - 如何将浮点数转换为 Parquet TIMESTAMP 逻辑类型?
- spring - 从 4.3.10.RELEASE 到 5.1.5.RELEASE 的 Spring 集成路由器行为
- c++ - 如何在类 c++ 中使用数组
- javascript - 获取 TypeError:无法读取未定义的属性“句柄”,但无法弄清楚原因
- email - Google SMTP 服务器拒绝我自己的 SMTP 服务器
- javascript - 如何更改格式日期反应本机
- elasticsearch - elasticsearch _update_by_query 更新本身不起作用