【问题标题】:I tried to do web scraping with python and the output is empty. did i do something wrong?我尝试使用 python 进行网页抓取,但输出为空。我做错什么了吗?
【发布时间】:2020-10-19 07:04:20
【问题描述】:

这是我使用的代码,您可以看到我复制了结果页并尝试打印它,输出为 [ ]。我正在尝试学习网络抓取。所以,我正在尝试通过网络抓取孤儿院的名称并复制 inta csv 文件。但是,我无法获得第一阶段。 “result_page”存在。

import os
os.system('cls')

import pandas as pd
import requests
from bs4 import BeautifulSoup

page = requests.get('https://www.justdial.com/Chennai/Orphanages/nct-10344906')
soup = BeautifulSoup(page.content,'html.parser')
MainContent = soup.find_all(class_="result_page")
print(MainContent)

【问题讨论】:

  • class_="result_page"是否存在?
  • 你想从这个页面上刮什么?
  • 你遇到过10054错误吗?
  • 我没有收到错误控制台中的输出是 [ ]。
  • print(soup) 给了什么?

标签: python python-3.x web-scraping beautifulsoup


【解决方案1】:

如果页面根目录下有result_page,但仍出现此错误,则表明该页面已被阻止

[更新1]

我试过这个关于访问与否:

import requests
from bs4 import BeautifulSoup as bs

r = requests.get('https://www.justdial.com/Chennai/Orphanages/nct-10344906')
soup = bs(r.content,'html.parser')
print(soup)

和输出:

<html><head>
<title>Access Denied</title>
</head><body>
<h1>Access Denied</h1>

You don't have permission to access "http://www.justdial.com/Chennai/Orphanages/nct-10344906" on this server.<p>
Reference #18.95a0de52.1603091762.1ae82063
</p></body>
</html>

[更新2]

终于解封

代码:

import requests
from bs4 import BeautifulSoup as bs

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36'}

r = requests.get('https://www.justdial.com/Chennai/Orphanages/nct-10344906',headers=headers).text
soup = bs(r,'html.parser')
soup = soup.find("div",{"class":"result_page"})
print(soup)

不是:如果您仍然遇到错误,请确保您使用的是正确的用户代理。 转到谷歌网站按 F12 和网络,刷新页面并按一个东西

【讨论】:

  • 它是否被阻止任何网络抓取,或者它不是公众可用的?
  • 某些站点不响应dnose没有User-Agent的请求,这就是它不起作用的原因。我看看如何添加用户代理
  • 我在看到您的更新后尝试过。我仍然得到空列表 [ ] 而不是“拒绝访问”。是某种区域访问吗?
  • 我不这么认为,我现在使用不同的用户代理,但我仍然不断出错。我会努力直到找到合适的,我会通知你
  • 我想我找到了问题所在。在阅读网站政策时。声明不允许进行数据挖掘和网络抓取。谢谢你的努力
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-25
  • 2019-06-22
  • 2019-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多