爬取58同城二手笔记本价格数据

importpickle

frombs4importBeautifulSoup

importrequests

#把网页html存到本地文件,测试用

defhtml_save(url):

filename =input('请输入要保存文件名称')

f =open(filename,'wb')

html = requests.get(url).text

html_list = [url,html]

pickle.dump(html_list,f)

f.close()

#读取本地html文件,测试用

defhtml_load(filename):

f =open(filename,'rb')

html_list = pickle.load(f)

f.close()

returnhtml_list

#解析html文件

defhtml_jx(html,all_list):

soup = BeautifulSoup(html,'lxml')

name_list = soup.select('a.t')

price_list = soup.select('b.pri')


all_list.append([name_list[i].string,price_list[i].string])

returnall_list

#找到下一页连接

deffind_next(html):

soup = BeautifulSoup(html,'lxml')

next_link ='http://zz.58.com'+soup.select('a.next')[0].get('href')

returnnext_link

all_list = []

html = requests.get('http://zz.58.com/bijiben/0/?PGTID=0d100000-0015-624b-2e87-3e5214b563a9&ClickID=1').text

foreachinrange(12):

all_list = html_jx(html,all_list)

ifeach !=11:

url_ne = find_next(html)

html = requests.get(url_ne).text

#把信息列表保存为本地文件

f =open('lifile','wb')

pickle.dump(all_list,f)

f.close()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 声明:本文讲解的实战内容,均仅用于学习交流,请勿用于任何商业用途! 一、前言 强烈建议:请在电脑的陪同下,阅读本文...
    Bruce_Szh阅读 12,783评论 6 28
  • 出现的问题: 当爬取交易地点,使用代码 时,爬取的结果是 ['交易地点:'],而不是我想要的‘地点-地点’形式 ...
    鸣人吃土豆阅读 1,333评论 1 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,981评论 19 139
  • github地址,欢迎大家提交更新。 express() express()用来创建一个Express的程序。ex...
    Programmer客栈阅读 2,600评论 0 1
  • 这一世,他是女子。精灵剔透。眼见着人来人往,神色清冷。过着自己不好不坏的日子。喜欢酒,偶尔月上柳梢头,淡淡一杯独饮...
    牟若萌阅读 363评论 0 0