Python 美丽的汤从谷歌搜索中提取a href
通过谷歌搜索,我得到了以下关于HTML的第一个结果:Python 美丽的汤从谷歌搜索中提取a href,python,html,beautifulsoup,google-search,Python,Html,Beautifulsoup,Google Search,通过谷歌搜索,我得到了以下关于HTML的第一个结果: <h3 class="r"><a href="https://rads.stackoverflow.com/amzn/click/com/0470284889" rel="nofollow noreferrer" class="l vst" onmousedown="return rwt(this,'','','','1','AFQjCNEv1W9YC2jcSKYdEo2kNqBMJ-Utmg','k89K9hF4cVNpx
<h3 class="r"><a href="https://rads.stackoverflow.com/amzn/click/com/0470284889" rel="nofollow noreferrer" class="l vst" onmousedown="return rwt(this,'','','','1','AFQjCNEv1W9YC2jcSKYdEo2kNqBMJ-Utmg','k89K9hF4cVNpxQYHtEKiUQ','0CCoQFjAA',null,event)"><em>Quantitative Trading</em>: <em>How to Build Your Own Algorithmic</em> <b>...</b> - Amazon</a></h3>
我获得以下字符串:
/url?q=
我知道链接在那里,我可以通过删除/url?q=和&符号之后的所有内容来解析它,但我想知道是否有更干净的解决方案
谢谢 您可以使用和的组合,例如
谢谢,这就是我要找的!只是想知道,为什么BeautifulSoup()将javascript解析为与我的web浏览器显示的内容不同的内容?这是否意味着我必须使用html5lib解析器才能得到正确的结果?@ejang:对不起,我不知道BeautifulSoup如何做到这一点:(如果你愿意,可以发布一个新问题,这会很有趣:)
soup.find("h3").find("a").get("href")
>>> import urlparse
>>> url = '/url?q=http://www.amazon.com/Quantitative-Trading-Build-Algorithmic-Business/dp/0470284889&sa=U&ei=P2ycT6OoNuasiAL2ncV5&ved=0CBIQFjAA&usg=AFQjCNEo_ujANAKnjheWDRlBKnJ1BGe'
>>> data = urlparse.parse_qs(
... urlparse.urlparse(url).query
... )
>>> data
{'ei': ['P2ycT6OoNuasiAL2ncV5'],
'q': ['http://www.amazon.com/Quantitative-Trading-Build-Algorithmic-Business/dp/0470284889'],
'sa': ['U'],
'usg': ['AFQjCNEo_ujANAKnjheWDRlBKnJ1BGe'],
'ved': ['0CBIQFjAA']}
>>> data['q'][0]
'http://www.amazon.com/Quantitative-Trading-Build-Algorithmic-Business/dp/0470284889'