Python获取onclick值

时间:2014-12-10 21:00:25

标签: python web-scraping beautifulsoup

我正在使用Python和BeautifulSoup来抓取我的一个小项目的网页。该网页有多个条目,每个条目由HTML中的表格行分隔。我的代码部分工作但是很多输出都是空白的,它不会从网页上获取所有结果,甚至不会将它们收集到同一行。

<html>
<head>
<title>Sample Website</title>
</head>
<body>

<table>
<td class=channel>Artist</td><td class=channel>Title</td><td class=channel>Date</td><td class=channel>Time</td></tr>
<tr><td>35</td><td>Lorem Ipsum</td><td><a href="#" onClick="searchDB('LoremIpsum','FooWorld')">FooWorld</a></td><td>12/10/2014</td><td>2:53:17 PM</td></tr>
</table>
</body>
</html>

我只想从onclick动作'searchDB'中提取值,所以例如'LoremIpsum'和'FooWorld'是我想要的唯一两个结果。

这是我写的代码。到目前为止,它正确地提取了一些写入值,但有时值是空的。

response = urllib2.urlopen(url)

html = response.read()

soup = bs4.BeautifulSoup(html)

properties = soup.findAll('a', onclick=True)

for eachproperty in properties:
    print re.findall("'([a-zA-Z0-9]*)'", eachproperty['onclick'])

我做错了什么?

1 个答案:

答案 0 :(得分:0)

试试这个

Error in weighted.mean.default(to_be_weighted_2, weighting) : 'x' and 'w' must have the same length