网页爬虫抓取百度图片(谷歌浏览器按F12,查找标题的html代码(图) )
优采云 发布时间: 2021-10-21 12:25网页爬虫抓取百度图片(谷歌浏览器按F12,查找标题的html代码(图)
)
:百度二级域名
p/3138733512:资源定位
see_lz=1&pn=1:参数see_lz:主机pn=1:第一页
所以上面的url分为两部分
基础部分:
参数:see_lz=1&pn=1
2、页面抓取
上代码:
# coding=utf-8
import urllib
import urllib2
import re
#*敏*感*词*爬虫类
class BDTB:
#初始化,传入基地址,是否看楼主的参数
def __init__(self, baseUrl, seeLZ):
self.baseURL = baseUrl
self.seeLZ = '?see_lz='+str(seeLZ)
#传入页码,获取该页帖子的代码
def getPage(self,pageNum):
try:
url = self.baseURL+self.seeLZ+'&pn'+str(pageNum)
request = urllib2.Request(url)
response = urllib2.urlopen(request)
result = response.read()
print(result)
return result
except urllib2.URLError,e:
if hasattr(e,"reason"):
print u"连接*敏*感*词*失败,错误原因",e.reason
return None
baseURL = 'http://tieba.baidu.com/p/3138733512'
bdtb = BDTB(baseURL,1)
bdtb.getPage(1)
这句话print(result)是输出源代码
运行程序:
3、提取相关信息
提取贴吧标题
在谷歌浏览器中按F12查找标题的html代码
纯原创我心中的NBA2014-2015赛季现役50大
所以我们要提取h1标签中的内容,同时指定这个类是唯一的,因为h1标签太多了。
正则表达式如下:
(.*?)',re.S)
result = re.search(pattern,str(page))
if result:
print result.group(1) # 测试输出
return result.group(1).strip()
else:
return None
完整代码:
<p># coding=utf-8
import urllib
import urllib2
import re
#*敏*感*词*爬虫类
class BDTB:
#初始化,传入基地址,是否看楼主的参数
def __init__(self, baseUrl, seeLZ):
self.baseURL = baseUrl
self.seeLZ = '?see_lz='+str(seeLZ)
#传入页码,获取该页帖子的代码
def getPage(self,pageNum):
try:
url = self.baseURL+self.seeLZ+'&pn'+str(pageNum)
request = urllib2.Request(url)
response = urllib2.urlopen(request)
result = response.read()
return result
except urllib2.URLError,e:
if hasattr(e,"reason"):
print u"连接*敏*感*词*失败,错误原因",e.reason
return None
#获取帖子标题
def getTitle(self):
page = self.getPage(1)
pattern = re.compile('