第一范文网 - 专业文章范例文档资料分享平台

python爬虫实战

来源:用户分享 时间:2025/7/9 4:13:57 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

python爬虫实战,多线程爬取京东jd html页面:无需登录的网

站的爬虫实战

2014-12-02 20:04:31

标签:网站 爬虫 python import

版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。

【前言】

# 本脚本用来爬取jd的页面:1 http://list.jd.com/list.html?cat=737,794,870到 的所有html的内容和图片。 # ......http://list.jd.com/list.html?cat=737,794,870&page=11&JL=6_02 3 _04 5 6 # 本脚本仅用于技术交流,请勿用于其他用途 # by River # qq : 179621252 # Date : 2014-12-02 19:00:00

【需求说明】

以京东为示例,爬取页面的,获取页面中得数据:记录到data.txt;获取页面中得图片,保存下来。

1、list的url如下

2、商品详情页的url如下:

【技术说明】

使用了python的以下库 import os#检查文件是否存在等 from HTMLParser import HTMLParser#1 2 用于解析html的库,有坑:如果2.6python,可能悲剧 http请求 的3 5 6 7 4 import httplib,re#发起import sys,json,datetime,bisect#使用了二分快速查找 url,分析出url的各部分功能 from threading import Thread#使用多线程 from urlparse import urlparse#解析8 import socket #设置httplib超时时间 【代码逻辑说明】

1、run(获取最终要的结果)

2、parseListpageurl:返回list的总共的页面数量

3、judgelist:判断该list是否已经爬取完毕了,第一个list中的所有url、最后list的所有url都爬取完毕了,那么久说明list的所有page爬取完毕了(实际上是一种弱校验)

4、getfinalurl_content:如果list没爬取完毕,每个list爬取,解析list中得每个html(判断html是否爬取过),获得内容和img

【坑说明】

1、需要设置超时时间,和重试,否则爬取一个url卡住的时候,整个线程都悲剧了。

2、有编码的坑,如果页面是gb2312的编码,需要转换为utf-8的编码:httprestmp.decode('gbk').encode('utf-8')

3、parser.feed的内容,如果存在一些特殊字符,可能需要替换,否则解析出来会莫名不对

4、图片保存,根据url获取前面两个数字,保存。以免一个目录下保存了过多的图片。

【执行结果】

搜索更多关于: python爬虫实战 的文档
python爬虫实战.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1ytiu0tmdk565jb3uu3p_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top