python爬虫糗事百科入门求助

wohu007 2015-07-05 04:54:32
按照http://cuiqingcai.com/990.html 博文写了个爬虫但是一直运行不起来,劳烦大牛看看
源码:
import urllib
import urllib2
import re
page = 1
url = 'http://www.qiushibaike.com/hot/page/' + str(page)
#有些网站没有user_agent会报错
user_agent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36'
headers = {'User-Agent':user_agent}
request = urllib2.Request(url,headers = headers)
response = urllib2.urlopen(request)

content = response.read().decode('utf-8')
pattern = re.compile('<div.*?class="author".*?>.*?<a.*?>.*?<img.*?>"(.*?)"</a><div.*?class="content".*?>"(.*?)".*?</div>',re.S)
items = re.findall(pattern,content)
for item in items:
print item[0]


糗事百科网站的HTML截图,请各位看下是不是正则表达式的问题


...全文
547 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jjbbbs 2015-08-13
  • 打赏
  • 举报
回复
这个要改代码的吧?要研究一下的。
wohu007 2015-07-18
  • 打赏
  • 举报
回复
用BeautifulSoup 之后怎样才能把[<div class="content"> 这些给去掉,另外我还想打印出 作者、时间该怎么弄啊?

import urllib
import urllib2
import re
from bs4 import BeautifulSoup
page = 1
url = 'http://www.qiushibaike.com/hot/page/' + str(page)
#有些网站没有user_agent会报错
user_agent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36'
headers = {'User-Agent':user_agent}
request = urllib2.Request(url,headers = headers)
response = urllib2.urlopen(request)

#decode的作用是将其他编码的字符串转换成unicode编码
content = response.read().decode('utf-8')
soup = BeautifulSoup(content)
items = soup.find_all('div',class_='content')
print items


目前只能打印如下:

[<div class="content">

中国年年降房价,反而涨了不少,某地因跳广场舞,房价反而降价十几万,广场舞才是控制中国房价的一大助力。
<!--2015-07-18 15:54:41-->
</div>, <div class="content">


另外我还想打印出 作者、时间该怎么弄啊?
JPF1024 2015-07-10
  • 打赏
  • 举报
回复
可以到我的网站去看下效果:project.07q.net
JPF1024 2015-07-10
  • 打赏
  • 举报
回复
我有现成的,只不过还没开源,过几天整理一下开源的,目前是python2.7版本写的,等升级到python3.4+之后开源,可以Q我提示你怎么做,877470746/CSDN。
阿友不错哦 2015-07-06
  • 打赏
  • 举报
回复
用bs4 r = requests.get(url).content soup = BeautifulSoup(r) class_s = soup.find(class_="content") 这样会把整个<div class ="content">......</div>的内容都取出来
资源下载链接为: https://pan.quark.cn/s/d9ef5828b597 在C++编程中,消息框是与用户交互的常用界面元素,它允许程序向用户展示信息,并根据用户的响应进行处理。MessageBox() 函数是Windows应用程序中实现消息框功能的标准接口,属于Windows API的一部分。本文将详细介绍MessageBox()函数的使用方法,包括常用属性、按钮形式和返回值等知识点。 MessageBox() 函数的基本语法结构如下: 其中,参数uType是一个整型值,通过组合不同的标志来定义消息框的按钮、图标等特性。常用属性包括消息框中显示的按钮以及附加的图标,例如: MB_OK:仅显示一个确定按钮。 MB_OKCANCEL:显示确定和取消按钮。 MB_YESNO:显示是和否按钮。 MB_YESNOCANCEL:显示是、否和取消按钮。 图标属性可以与按钮属性组合使用,为用户提供额外的视觉信息: MB_ICONEXCLAMATION 或 MB_ICONWARNING:显示感叹号警告图标。 MB_ICONASTERISK 或 MB_ICONINFORMATION:显示信息图标。 MB_ICONQUESTION:显示询问图标的问号。 MB_ICONERROR 或 MB_ICONHAND 或 MB_ICONSTOP:显示错误图标。 返回值方面,MessageBox() 函数执行后会返回一个整数值,代表用户点击了哪一个按钮。这个返回值可以与预定义的标识符进行比较,以判断用户的操作: IDCANCEL:用户点击了取消按钮。 IDNO:用户点击了否按钮。 IDOK:用户点击了确定按钮。 IDYES:用户点击了是按钮。 在使用MessageBox()函数时,需要特别注意字符编码问题。由于Visual C++ 2005默认使用Unicode字符集,当源代码使用的是ANSI

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧