# 写在开头:保持每天更新一篇压力还是挺大的,仔细看看之前更新的文章发现。我的文章对新手不太友好,因为已经有的特别好的python基础入门资料太多,我也不想只做一个搬运工。时间有限,我的文章只能作为一个补充,以及自我记录总结的工具,作为我个人学习python的一个记录。目前想写出很好的实战价值的文章还是有些难度,能力和时间都不够。但是我会向这个方向努力。
#那么我博客的价值在哪里呢?我觉得目前的价值是对我更大;如果说是对不小心看到我这里的读者来说。如果看到我的探索和记录,希望我的行为能给你坚持的力量;同时,我的部分文章中是我切实在菜鸟学习过程中踩过的各种坑,其实如果能静下心来阅读还是有很多收获的,我保证。当然,你如果有兴趣也可以和我一道学习,并来和我交流。这条路我是一定会坚持走下去的。
# 今天放一篇,我三天前自己写的一个爬虫,过程中遇到很多问题,不过能做出来也很开心了。后期我会完善,继续把这篇代码扩展。
code:
import requests import re def craw(url, page): # url = "https://list.jd.com/list.html?cat=1713,3258,3317" headers = { "User-Agent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Mobile Safari/537.36", } response = requests.get(url, headers=headers, timeout=10) html = response.text # print(html) urls = re.findall( r'<div class="p-img".*?img width="200" height="200" data-img="1" src="//(img.*?\.360buyimg.com/.*?\.jpg).*?</a>', html, re.S) x = 1 for b_url in urls: p_url = "https://" + str(b_url) # print(b_url) print(p_url) filename = "C:/Users/XIEG2/Desktop/ll/" + str(page) +"--" + str(x) + ".jpg" fb = open(filename, 'wb+') req = requests.get(p_url) # print(req.encoding) # print(req.text) fb.write(req.content) # 哈哈,神奇 原来就是 content 方法 fb.close() x += 1 # 选择爬取页数 def craw_page(page): for i in range(1, page): url = "https://list.jd.com/list.html?cat=1713,3258,3317&page=" + str(i) craw(url, i) craw_page(10) # 数字可以随意指定,建议大家数字设小一点,免得给服务器造成负担。当然,京东服务器轻易也不会崩溃。哈哈