linux网络爬虫代码,简单爬虫思路

1、预期获取的资源的url

2、下载url的html源文件(文本形式)

3、从已下载的html源文件里获取标签或内容(bs4函数(python3))

soup=BeautifulSoup #创建对象

body=soup.body  #html基本框架形式、格式

data_main=body.find() #利用浏览器的审查元素 对应内容(部分)

for i, table_info in enumerate(tables):  #利用enumerate添加序号

gsmc = tds[2].find('a').get_text()  #根据索引找内容

4、给url提交参数

for keyword in KEYWORDS:

#url上提交的参数(类似于asp?id=1&sugtime=1503299916325)

paras = {'jl':args[0],'kw':keyword,'p':args[1]}

5、调用get_content(html)函数获取预期资源

利用for循环遍历下载下来的centent文本信息获取预期资源

拓展:datetime获得start/end time

爬取多个网页或内容  可使用from multiprocessing import Pool

代码部分

没解决(删去列表元素两边的空格)

import requests,re

from requests.exceptions import  ReadTimeout,HTTPError,RequestException

try:

#爬虫部分

headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0'}

response = requests.get('url',headers=headers,timeout=10)

print('请求成功! 状态码%s'%response.status_code)

html=response.text

html1=re.sub("\n*",'',html)

#newhtml=re.sub("\s*",'',html2)

#匹配书名 作者 出版日期 出版社 简介    result1为list类型,re.S解决爬取多行时的换行问题

result1 = re.findall('

.*?href=\"(.*?)\".*?(.*?).*?(.*?).*?(.*?).*?(.*?).*?(.*?)',html1,re.S)

#result1 = re.search("alt=(.*?)>", html, re.S)#另一种定位书名

for result in result1:

print(result)    #result为tuple类型

#报错部分

except ReadTimeout:

print('Time Out!!! 请检查网络)')

except HTTPError:

print('HTTP Error')

except RequestException:

print('Error!!!请求出错了,不止一种绕过方法')

返回的结果:

请求成功! 状态码200

'鲤·猫知道一切 ',

'张悦然 主编',

'2017-8', '北京十月文艺出版社',

'有时深居简出,有时逍遥浪荡;装得了高冷,卖得了嗲萌;有时慵懒散漫,有时雷厉风行;我们爱它宠它,却可能永远不会懂它……——只有猫,知道一切。张悦然出品《鲤·猫知道一切》,携手时下活力四溢的人气创作者和他们的猫主子,用趣味横生的故事,让猫告诉你一切——◇深度访谈张悦然, 身为“猫奴”二十年,揭秘“猫的法则”◇超人气日籍华语作家吉井忍◇旅日文艺...')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值