用“BeautifulSoup”阅读页面的具体问题

时间:2013-02-04 18:21:54

标签: python beautifulsoup urllib

我不想宣传任何产品。

但错误是非常具体的,我不知道怎么回事。

我想获取页面A中菜单中的链接,该链接位于代码中,但该页面还有另一个页面关联,B

当我阅读菜单时,它从B页面看菜单,我不明白为什么。

在html中,我看到所有函数和库都在域的页面B中。

有什么建议吗?

from bs4 import BeautifulSoup
import http.cookiejar, urllib.request

mainurl="http://uk.example.com"



cookijar = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cookijar))
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
mainPage = opener.open(mainurl)
mainPageRequest = mainPage.read()
mainPagesoup = BeautifulSoup(mainPageRequest)

menu=mainPagesoup.find("div", { "class" : "mainNavigation_linkList_content" })
print(menu)

我想要http://uk.example.com 并且程序读取http://uk.example.co.uk/菜单

1 个答案:

答案 0 :(得分:1)

urllib似乎没有像服务器期望的那样处理重定向。

首先安装requests

pip install requests

然后试试这个:

import requests
from bs4 import BeautifulSoup

s = requests.Session()
mainPage = s.get("http://uk.accessorize.com")

mainPagesoup = BeautifulSoup(mainPage.text)
menu=mainPagesoup.find("div", { "class" : "mainNavigation_linkList_content" })
print(menu)