Python - 使用Beautiful Soup进行Web抓取

时间:2017-08-24 12:20:16

标签: python web-scraping beautifulsoup

我目前正在尝试使用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')

提前谢谢!

2 个答案:

答案 0 :(得分:1)

您需要首先了解如何使用urlliburllib2

一些网站屏蔽了蜘蛛。

类似的东西:

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