使用python进行Web抓取时出错

时间:2016-06-30 01:53:05

标签: python web-scraping urllib trackback

我试图在新闻中抓回帖。

我尝试了很多次。

但我只能看到Traceback。

请帮帮我。

我写了这样的代码:

import re
import urllib.request
import urllib
import requests
from bs4 import BeautifulSoup

url='http://news.naver.com/main/ranking/read.nhn?mid=etc&sid1=111&rankingType=popular_week&oid=277&aid=0003773756&date=20160622&type=1&rankingSectionId=102&rankingSeq=1&m_view=1'
html=request.get(url)
#print(html.text)
a=html.text
bs=BeautifulSoup(a,'html.parser')
print(bs.prettify())
bs.find('span',class="u_cbox_contents")

当我运行时:bs.find(' span',class =" u_cbox_contents")

我只能看到很多错误

错误就是这个。

  

SyntaxError:语法无效

如何修复代码以便运行良好?

请帮帮我。

我运行这个python 3.4.4版本,Windows 8.1 64x

感谢阅读。

1 个答案:

答案 0 :(得分:3)

在@AkshatMahajan建议之后,可以使用请求模块来完成以下操作。 此外,您还可以修改最后一行以查找所需的元素。

##import re
##import urllib.request
##import urllib
import requests
from bs4 import BeautifulSoup

url='http://news.naver.com/main/ranking/read.nhn?mid=etc&sid1=111&rankingType=popular_week&oid=277&aid=0003773756&date=20160622&type=1&rankingSectionId=102&rankingSeq=1&m_view=1'
html=requests.get(url)
#print(html.text)
a=html.text
bs=BeautifulSoup(a,'html.parser')
print(bs.prettify())
print(bs.find('span',attrs={"class" : "u_cbox_contents"}))

感谢@DiogoMartins指出正确的Python版本