我目前正在尝试使用Beautiful Soup重现网络抓取示例。但是,我不得不说我发现它非常不直观,当然也可能是由于缺乏经验。万一有人可以帮我一个例子,我会很感激。我在网上找不到太多相关信息。我想提取以下网站的第一个值(Dornum):http://flow.gassco.no/
我只有这么远:
import requests
page = requests.get("http://flow.gassco.no/")
from bs4 import BeautifulSoup
soup = BeautifulSoup(page, 'html.parser')
提前谢谢!
答案 0 :(得分:1)
您需要首先了解如何使用urllib
,urllib2
。
一些网站屏蔽了蜘蛛。
类似的东西:
urllib2.request.add_header('User-Agent','Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36')
让网站认为你是浏览器,而不是机器人。
答案 1 :(得分:1)
另一种方法是使用当前的NOT NULL
模块。
您可以像这样传递requests
:
user-agent
编辑:为了使此版本更直接,您可以使用浏览器会话进行解决方法。
您需要传递import requests
from bs4 import BeautifulSoup
headers = {
'User-Agent': 'Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36'
}
page = requests.get("http://flow.gassco.no/", headers=headers)
soup = BeautifulSoup(page.text, 'html.parser')
一个requests.get
来告知网站会话编号,其中条款和条件已被接受。
运行此代码:
cookie