我是新刮刮的,我已经被In荚膜保护所阻止了。
import bs4
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup
my_url = 'https://www.immoweb.be/fr/recherche/immeuble-de-rapport/a-vendre'
# opening up connection, grabbing the page
uClient = uReq(my_url)
page_html = uClient.read()
uClient.close()
#html parsing
page_soup = soup(page_html, "html.parser")
page_soup.h1 我不能从网站上获取任何数据,因为我被InCapsula问题屏蔽了.
当我打字时:
print(page_soup)我收到这样的信息:
<html style="height:100%"><head><meta content="NOINDEX, NOFOLLOW" name="ROBOTS"/><meta content="telephone=no" name="format-detection"/>
[...]
Request unsuccessful. Incapsula incident ID: 936002200207012991-发布于 2019-05-16 18:57:37
我做了一些这里描述的测试,Getting ‘wrong’ page source when calling url from python,只有@Karl Anka的解决方案才能实现。
见下面的例子:
from bs4 import BeautifulSoup
from selenium import webdriver
url = 'https://www.immoweb.be/fr/recherche/immeuble-de-rapport/a-vendre'
driver = webdriver.Chrome(executable_path='./chromedriver')
driver.get(url)
soup = BeautifulSoup(driver.page_source, features='html.parser')
driver.quit()
print(soup.prettify())输出:
<html class="js flexbox rgba borderradius boxshadow opacity cssgradients csstransitions generatedcontent localstorage sessionstorage" style="" xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" xmlns:og="http://opengraphprotocol.org/schema/">
<head>
<script async="" src="https://c.pebblemedia.be/js/data/david/_david_publishers_master_produpress.js" type="text/javascript">
</script>
<script async="" src="https://scdn.cxense.com/cx.js" type="text/javascript">
</script>
<script async="" src="https://connect.facebook.net/signals/plugins/inferredEvents.js?v=2.8.47">
</script>
<script async="" src="https://connect.facebook.net/signals/config/1554445828209863?v=2.8.47&r=stable">
</script>
[...]https://stackoverflow.com/questions/56168800
复制相似问题