老铁们,大家好,相信还有很多朋友对于Python自动化数据抓取实战教程和的相关问题不太懂,没关系,今天就由我来为大家分享分享Python自动化数据抓取实战教程以及的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
导入请求
进口重新
导入时间
导入json
导入操作系统
# 用于去除创建文件时出现的特殊字符,下面会用到
def strip(路径):
路径=re.sub(r"[?\*":/]","",str(路径))
返回路径
爬虫
蜘蛛:类
def __init__(self):
self.session=requests.session() #保留参数
#返回图片id列表
def gei_img_item_ids(self,start_url):
响应=self.download(start_url)
如果响应:
html=response.text.encode("GBK","ignore").decode("GBk") #获取网页源代码
ids=re.findall(r"http://tu.duowan.com/gallery/(d+).html",html) #获取图库的url
返回集合(id)
#根据集合id获取集合信息
def gei_img_item_info(self,img_id):
#观察http://tu.duowan.com/index.php?r=show/getByGallery/gid=136705_=1522715109098使用正则规则
#136705:图像ID 1522715109098: 时间戳*1000 位扩展数字
img_item_url="http://tu.duowan.com/index.php?r=show/getByGallery/gid=%s_=%s" % (img_id,int(time.time()*1000))
响应=self.download(img_item_url)
如果响应:
#返回json文件,注意一下内容,下面会用到
返回json.loads(response.text.encode("GBK","ignore").decode("GBk"))
#下载器
def 下载(self,url):
尝试:
返回self.session.get(url)
除了异常e:
打印(e)
#print(response.text.encode("GBK","ignore").decode("GBk"))
#根据该组图片的信息,坚持
def save_img(self,img_item_info):
#设置文件名
dir_name=strip(img_item_info["gallery_title"].strip())
#print(目录名称)
#判断文件是否存在,如果不存在则创建一个
如果不是os.path.exists(dir_name):
os.makedirs(dir_name)
#根据json文件中的内容,提取信息。图片的后缀名不同,所以必须截取后缀名。
对于img_item_info["picInfo"]: 中的img_info
img_name=strip(img_info["title"].strip())
img_url=img_info["url"]
pix=(img_url.split("/")[-1]).split(".")[-1]
#合成图像的完整路径
img_path=os.path.join(dir_name,"%s.%s" % (img_name,pix))
#判断路径是否存在
如果不是os.path.exists(img_path):
响应=self.download(img_url)
如果响应:
img_data=响应.内容
节省
打开(img_path,"wb")作为f:
f.write(img_data)
跑步
def 运行(自我,start_url):
img_ids=self.gei_img_item_ids(start_url)
# 打印(img_ids)
对于img_ids: 中的img_id
img_item_info=self.gei_img_item_info(img_id)
self.save_img(img_item_info)
如果__name__=="__main__":
Spider=Spider() #实例化对象
关于Python自动化数据抓取实战教程的内容到此结束,希望对大家有所帮助。
【Python自动化数据抓取实战教程】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
想学 Python 爬虫,可以试试一些简单的项目练习入门!
有19位网友表示赞同!
Python 爬虫真的很有趣啊,感觉能学到很多实用技能!
有17位网友表示赞同!
爬虫练习要注重学习正规的网络爬取技术,保护自己和网站数据安全!
有18位网友表示赞同!
最近看了一些 Python 爬虫教程,觉得还是蛮难学的,需要多练习多思考。
有15位网友表示赞同!
有没有人推荐一些好的 Python 爬虫练习项目?想找点入门难度比较合适的!
有15位网友表示赞同!
爬虫练的时候要注意网站的 robots.txt 文件,不要擅自访问私密信息!
有16位网友表示赞同!
Python 爬虫可以用来抓取很多有用的数据,比如新闻、商品价格等!
有9位网友表示赞同!
学习 Python 爬虫需要配合一些网络工具和数据分析方法,才能玩出花儿来!
有19位网友表示赞同!
Python 的库确实很强大,像 requests 和 BeautifulSoup 都挺常用的!
有20位网友表示赞同!
爬虫练习要注意速度问题,不要频繁请求同一个网站,以免被封!
有17位网友表示赞同!
在 Python 爬虫中要学会数据处理和清洗,才能得到有用的信息!
有10位网友表示赞同!
感觉 Python 爬虫的应用场景越来越广泛了,未来很有发展前景!
有19位网友表示赞同!
爬虫练习是一个循序渐进的过程,不要急于求成,慢慢积累经验吧!
有17位网友表示赞同!
有没有 Python 爬虫高手想跟我交流?分享一下你的心得体会?
有17位网友表示赞同!
学习 Python 爬虫需要具备一定的编程基础和逻辑思维能力!
有11位网友表示赞同!
Python 的中文文档和社区资源非常丰富,遇到问题可以随时寻求帮助!
有16位网友表示赞同!
爬虫练习的过程既有挑战也有乐趣,一定要坚持下去!
有12位网友表示赞同!
我觉得 Python 爬虫是一种很有意思的编程技能,值得一试!
有13位网友表示赞同!
除了抓取信息,Python 爬虫还可以用来自动化一些任务,提高效率!
有10位网友表示赞同!