看360 看360看360

大家有没有什么好的爬虫推荐教程?

以下是为大家精心整理的"大家有没有什么好的爬虫推荐教程?"相关知识及问题的最佳答案:

大家有没有什么好的爬虫推荐教程?

正好,刚开始接触python的时候,参加了一个算是免费(其实是需要付费9.9)的培训课程,刚好是七天课程,爬虫入门!

个人建议:python入门不建议报培训课!!!

请须知!

因为这些你自学就行,网上可以找到很多内容,你不花钱就能学会,你学不会(学废),花钱也没用!

不是广告推销课程,仅仅是记录流水文,非利益相关,如果侵权可联系我删除!!

说是七天,实际上是六天!

新人学,六天,比较难吧,尤其是零基础可能会学废吧!当然不排除有学习大佬,也是可能不用七天吧!

当然你可以学完基础语法再来看这篇,七天应该比较OK!

有疑问可以联系我,虽然我就是个渣渣!

【学习记录】极客大学,7天入门Python爬虫实战营

该篇非广告文

但可能是流水文

一点点记录仅供参考

7 天入门 Python 爬虫实战

Python 训练营·小课

尹会生 金山西山居运维总监

常见网络库精讲

HTTP、HTML 基础介绍

爬虫项目实战

班主任带班学习

怎么说呢,现今的推培训课程,都是采用微信群,打卡的形式来展开

以免费的形式(课程已订购)或者部分免费(限时9.9)的形式来获取学习群

总而言之免费是最贵的,想要快速,省事,省时省力,都是妄想!!

以下是流水账:

总共是7天,实际上是6天,最后一天是总结(结课),填表,搜集精准数据

第一天:

Day 1 视频观看:

1)网页数据的采集与urllib库

2)网页常见的两种请求方式get和post

3)3HTTP头部信息的模拟

Day 1 作业:

比较 urllib 和 requests 库的用法差异,通过 random() 方法实现每次提交请求时增加随机的 user-agent HTTP 头部信息。

参考资料:

urllib:

https://docs.python.org/zh-cn/3/library/urllib.html

random():

https://docs.python.org/zh-cn/3/library/random.html

附参考代码:

import random #引入 random 库 import urllib.request #引入 urllib.request 库 import requests #ua列表 ua_list=[ 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.87 Safari/537.36 OPR/37.0.2178.31', 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0', ] url="https://time.geekbang.org/" # 目标网址 #借助build_opener和addheaders完成 head=('User-Agent',random.choice(ua_list)) #注意:在urllib 中headers是元组 opener=urllib.request.build_opener() opener.addheaders=[head] response=opener.open(url) print(response.read().decode('utf-8')) headers={'User-Agent':random.choice(ua_list)} #随机生成协议头 """random.choice(seq) 从非空序列 seq 返回一个随机元素。如果 seq 为空,则引发 IndexError。""" req=requests.get(url,headers=headers) print(req)

第二天:

Day 2 视频观看:

4)requests库的基本使用

5)结合正则表达式爬取图片链接

Day 2 作业:

使用 requests 库配合正则表达式,获取豆瓣读书 http://book.douban.com/top250 排名最高的25本书的名字。

参考资料:

re:

https://docs.python.org/zh-cn/3/library/re.html

requests:

https://2.python-requests.org//zh_CN/latest/user/quickstart.html

附参考代码:

import requests #引入requests库 import re #引入正则re库 import random #引入random库 #ua列表 ua_list=[ 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.87 Safari/537.36 OPR/37.0.2178.31', 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0', ] headers={'User-Agent':random.choice(ua_list)} #随机生成协议头 url="https://book.douban.com/top250" response=requests.get(url,headers=headers).content.decode('utf-8') bookeze=r'第三天:

‍Day 3 视频观看:

6)Beautiful Soup的安装和使用

Day 3 作业:

1. 使用 Beautiful Soup 筛选器代替正则表达式进行图书名字筛选。

2. 通过搜索引擎了解 Xpath 的功能并比较和 Beautiful Soup 的差异。

参考资料:

Beautiful Soup:

https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html

XPath:

https://developer.mozilla.org/zh-CN/docs/Web/XPath

附参考代码:

import requests #引入 requests 库 from bs4 import BeautifulSoup #引入 BeautifulSoup 库 import random #引入random库 #ua列表 ua_list=[ 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.87 Safari/537.36 OPR/37.0.2178.31', 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0', ] headers={'User-Agent':random.choice(ua_list)} #随机生成协议头 url="https://book.douban.com/top250" response=requests.get(url,headers=headers).content.decode('utf-8') soup=BeautifulSoup(response,'html.parser') #bs4解析网页 divs=soup.find('div',class_="article").find_all('div',class_="pl2") for div in divs: title=div.find('a').get_text() title=title.replace('\n','').replace(' ', '') #去除格式,换行,空格 print(title)

第四天:

‍Day 4 视频观看:

7)使用爬虫爬取新闻网站

Day 4 作业:

使用 requests 和 XPath 获取豆瓣 top250 图书名字和作者,保存至本地文件。

参考资料:

Python I/O:

https://docs.python.org/zh-cn/3/library/io.html

附参考代码:

import requests #引入 requests 库 from lxml import etree #引入etree库 import random #引入random库 #ua列表 ua_list=[ 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.87 Safari/537.36 OPR/37.0.2178.31', 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0', ] headers={'User-Agent':random.choice(ua_list)} #随机生成协议头 url="https://book.douban.com/top250" response=requests.get(url,headers=headers).content.decode('utf-8') req=etree.HTML(response) #etree解析网页 titles=req.xpath('//tr[@class="item"]/td[2]/div[1]/a/@title') #获取 a 节点 title 属性 文本内容 for title in titles: print(title) with open("book.txt",'a+',encoding='utf-8') as f: # 以 utf-8 编码 追加 a+ 的形式 写入 book.txt 中 f.write('%s%s'%(title,'\n'))

第五天:

‍Day 5 视频观看:

8)使用爬虫爬取图片链接并下载图片

Day 5 作业:

学习异常处理对网络超时、文件不存在等异常进行捕获并处理。

参考资料:

错误和异常:

https://docs.python.org/zh-cn/3/tutorial/errors.html

附参考代码:

import requests #引入 requests 库 from bs4 import BeautifulSoup #引入 BeautifulSoup 库 import random #引入 random 库 from requests.adapters import HTTPAdapter #引入 HTTPAdapter 库 #ua列表 ua_list=[ 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.87 Safari/537.36 OPR/37.0.2178.31', 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0', ] headers={'User-Agent':random.choice(ua_list)} #随机生成协议头 url="https://book.douban.com/top250" """ python requests 配置超时及重试次数 max_retries 为最大重试次数,重试3次,加上最初的一次请求,一共是4次 """ s = requests.Session() s.mount('http://', HTTPAdapter(max_retries=3)) s.mount('https://', HTTPAdapter(max_retries=3)) try: response=s.get(url,headers=headers,timeout=5).content.decode('utf-8') except requests.exceptions.RequestException as e: print(e) soup=BeautifulSoup(response,'html.parser') #bs4解析网页 divs=soup.find('div',class_="article").find_all('div',class_="pl2") for div in divs: title=div.find('a').get_text() title=title.replace('\n','').replace(' ', '') #去除格式,换行,空格 print(title)

第六天:

Day 6 作业:

通过豆瓣 Top250 的 标签,请求图书详细页,获取前 10 本书的短评,并保存至本地文件。

参考资料:

HTML 超链接:

https://developer.mozilla.org/zh-CN/docs/Learn/HTML/Introduction_to_HTML/Creating_hyperlinks

附参考代码:

import requests #引入 requests 库 from bs4 import BeautifulSoup #引入 BeautifulSoup 库 import random #引入random库 #ua列表 ua_list=[ 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.87 Safari/537.36 OPR/37.0.2178.31', 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0', ] headers={'User-Agent':random.choice(ua_list)} #随机生成协议头 url="https://book.douban.com/top250" response=requests.get(url,headers=headers).content.decode('utf-8') soup=BeautifulSoup(response,'html.parser') #bs4解析网页 divs=soup.find('div',class_="article").find_all('div',class_="pl2") i=1 for div in divs[:10]: # 切片 获取前十本节点内容 href=div.find('a')['href'] print(href) book_response = requests.get(href, headers=headers).content.decode('utf-8') #访问书籍详情页 book_soup = BeautifulSoup(book_response, 'html.parser') # bs4解析网页 h1=book_soup.find('div',id="wrapper").find('h1').get_text() #获取标题 h1=h1.replace('\n','') h1='Top%d:%s'%(i,h1) print(h1) comment_infos='' lis=book_soup.find('div',id="comments").find('ul').find_all('li') for li in lis: author=li.find('span',class_="comment-info").find('a').get_text() conment=li.find('p',class_="comment-content").get_text() comment_info='%s%s%s%s%s%s'%('author:','\n',author,'\n','conment:',conment) print(comment_info) comment_infos='%s%s%s'%(comment_infos,'\n',comment_info) print(comment_infos) with open('top10_book.txt','a+',encoding='utf-8') as f: f.write('%s%s%s%s'%(h1,'\n',comment_infos,'\n')) i=i+1

第七天:总结,结课

故没有作业和代码!

个人总结:

1.不太适合零基础学习,起码需要点python语法基础

当然除非你有极大学习毅力以及脱产学习和足够多的时间研究!

python语法基础的学习其实已经是劝退了大部分人!

2.小课群群员广泛,大部分在职人员几乎没有时间看视频课程以及讨论

适合时间多,自主学习能力强的人入门学习,尤其是在校学生!

3.已经入门python爬虫的没必要再学习该小课!

以上作业代码仅供参考!

总而言之

学习需要靠自己,至于培训,见仁见智!!

想要快速,省事,省时省力,都是妄想!!

最后

还是 个人建议:python入门不建议报培训课!!!

请须知!

因为这些你自学就行,网上可以找到很多内容,你不花钱就能学会,你学不会(学废),花钱也没用!

不是广告推销课程,仅仅是记录流水文,非利益相关,如果侵权可联系我删除!!

说是七天,实际上是六天!

新人学,六天,比较难吧,尤其是零基础可能会学废吧!当然不排除有学习大佬,也是可能不用七天吧!

当然你可以学完基础语法再来看这篇,七天应该比较OK!

有疑问可以联系我,虽然我就是个渣渣!


大家有没有什么好的爬虫推荐教程?

正好,刚开始接触python的时候,参加了一个算是免费(其实是需要付费9.9)的培训课程,刚好是七天课程,爬虫入门!

个人建议:python入门不建议报培训课!!!

请须知!

因为这些你自学就行,网上可以找到很多内容,你不花钱就能学会,你学不会(学废),花钱也没用!

不是广告推销课程,仅仅是记录流水文,非利益相关,如果侵权可联系我删除!!

说是七天,实际上是六天!

新人学,六天,比较难吧,尤其是零基础可能会学废吧!当然不排除有学习大佬,也是可能不用七天吧!

当然你可以学完基础语法再来看这篇,七天应该比较OK!

有疑问可以联系我,虽然我就是个渣渣!

【学习记录】极客大学,7天入门Python爬虫实战营

该篇非广告文

但可能是流水文

一点点记录仅供参考

7 天入门 Python 爬虫实战

Python 训练营·小课

尹会生 金山西山居运维总监

常见网络库精讲

HTTP、HTML 基础介绍

爬虫项目实战

班主任带班学习

怎么说呢,现今的推培训课程,都是采用微信群,打卡的形式来展开

以免费的形式(课程已订购)或者部分免费(限时9.9)的形式来获取学习群

总而言之免费是最贵的,想要快速,省事,省时省力,都是妄想!!

以下是流水账:

总共是7天,实际上是6天,最后一天是总结(结课),填表,搜集精准数据

第一天:

Day 1 视频观看:

1)网页数据的采集与urllib库

2)网页常见的两种请求方式get和post

3)3HTTP头部信息的模拟

Day 1 作业:

比较 urllib 和 requests 库的用法差异,通过 random() 方法实现每次提交请求时增加随机的 user-agent HTTP 头部信息。

参考资料:

urllib:

https://docs.python.org/zh-cn/3/library/urllib.html

random():

https://docs.python.org/zh-cn/3/library/random.html

附参考代码:

import random #引入 random 库 import urllib.request #引入 urllib.request 库 import requests #ua列表 ua_list=[ 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.87 Safari/537.36 OPR/37.0.2178.31', 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0', ] url="https://time.geekbang.org/" # 目标网址 #借助build_opener和addheaders完成 head=('User-Agent',random.choice(ua_list)) #注意:在urllib 中headers是元组 opener=urllib.request.build_opener() opener.addheaders=[head] response=opener.open(url) print(response.read().decode('utf-8')) headers={'User-Agent':random.choice(ua_list)} #随机生成协议头 """random.choice(seq) 从非空序列 seq 返回一个随机元素。如果 seq 为空,则引发 IndexError。""" req=requests.get(url,headers=headers) print(req)

第二天:

Day 2 视频观看:

4)requests库的基本使用

5)结合正则表达式爬取图片链接

Day 2 作业:

使用 requests 库配合正则表达式,获取豆瓣读书 http://book.douban.com/top250 排名最高的25本书的名字。

参考资料:

re:

https://docs.python.org/zh-cn/3/library/re.html

requests:

https://2.python-requests.org//zh_CN/latest/user/quickstart.html

附参考代码:

import requests #引入requests库 import re #引入正则re库 import random #引入random库 #ua列表 ua_list=[ 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.87 Safari/537.36 OPR/37.0.2178.31', 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0', ] headers={'User-Agent':random.choice(ua_list)} #随机生成协议头 url="https://book.douban.com/top250" response=requests.get(url,headers=headers).content.decode('utf-8') bookeze=r'
第三天:

‍Day 3 视频观看:

6)Beautiful Soup的安装和使用

Day 3 作业:

1. 使用 Beautiful Soup 筛选器代替正则表达式进行图书名字筛选。

2. 通过搜索引擎了解 Xpath 的功能并比较和 Beautiful Soup 的差异。

参考资料:

Beautiful Soup:

https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html

XPath:

https://developer.mozilla.org/zh-CN/docs/Web/XPath

附参考代码:

import requests #引入 requests 库 from bs4 import BeautifulSoup #引入 BeautifulSoup 库 import random #引入random库 #ua列表 ua_list=[ 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.87 Safari/537.36 OPR/37.0.2178.31', 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0', ] headers={'User-Agent':random.choice(ua_list)} #随机生成协议头 url="https://book.douban.com/top250" response=requests.get(url,headers=headers).content.decode('utf-8') soup=BeautifulSoup(response,'html.parser') #bs4解析网页 divs=soup.find('div',class_="article").find_all('div',class_="pl2") for div in divs: title=div.find('a').get_text() title=title.replace('\n','').replace(' ', '') #去除格式,换行,空格 print(title)

第四天:

‍Day 4 视频观看:

7)使用爬虫爬取新闻网站

Day 4 作业:

使用 requests 和 XPath 获取豆瓣 top250 图书名字和作者,保存至本地文件。

参考资料:

Python I/O:

https://docs.python.org/zh-cn/3/library/io.html

附参考代码:

import requests #引入 requests 库 from lxml import etree #引入etree库 import random #引入random库 #ua列表 ua_list=[ 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.87 Safari/537.36 OPR/37.0.2178.31', 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0', ] headers={'User-Agent':random.choice(ua_list)} #随机生成协议头 url="https://book.douban.com/top250" response=requests.get(url,headers=headers).content.decode('utf-8') req=etree.HTML(response) #etree解析网页 titles=req.xpath('//tr[@class="item"]/td[2]/div[1]/a/@title') #获取 a 节点 title 属性 文本内容 for title in titles: print(title) with open("book.txt",'a+',encoding='utf-8') as f: # 以 utf-8 编码 追加 a+ 的形式 写入 book.txt 中 f.write('%s%s'%(title,'\n'))

第五天:

‍Day 5 视频观看:

8)使用爬虫爬取图片链接并下载图片

Day 5 作业:

学习异常处理对网络超时、文件不存在等异常进行捕获并处理。

参考资料:

错误和异常:

https://docs.python.org/zh-cn/3/tutorial/errors.html

附参考代码:

import requests #引入 requests 库 from bs4 import BeautifulSoup #引入 BeautifulSoup 库 import random #引入 random 库 from requests.adapters import HTTPAdapter #引入 HTTPAdapter 库 #ua列表 ua_list=[ 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.87 Safari/537.36 OPR/37.0.2178.31', 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0', ] headers={'User-Agent':random.choice(ua_list)} #随机生成协议头 url="https://book.douban.com/top250" """ python requests 配置超时及重试次数 max_retries 为最大重试次数,重试3次,加上最初的一次请求,一共是4次 """ s = requests.Session() s.mount('http://', HTTPAdapter(max_retries=3)) s.mount('https://', HTTPAdapter(max_retries=3)) try: response=s.get(url,headers=headers,timeout=5).content.decode('utf-8') except requests.exceptions.RequestException as e: print(e) soup=BeautifulSoup(response,'html.parser') #bs4解析网页 divs=soup.find('div',class_="article").find_all('div',class_="pl2") for div in divs: title=div.find('a').get_text() title=title.replace('\n','').replace(' ', '') #去除格式,换行,空格 print(title)

第六天:

Day 6 作业:

通过豆瓣 Top250 的 标签,请求图书详细页,获取前 10 本书的短评,并保存至本地文件。

参考资料:

HTML 超链接:

https://developer.mozilla.org/zh-CN/docs/Learn/HTML/Introduction_to_HTML/Creating_hyperlinks

附参考代码:

import requests #引入 requests 库 from bs4 import BeautifulSoup #引入 BeautifulSoup 库 import random #引入random库 #ua列表 ua_list=[ 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.87 Safari/537.36 OPR/37.0.2178.31', 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0', ] headers={'User-Agent':random.choice(ua_list)} #随机生成协议头 url="https://book.douban.com/top250" response=requests.get(url,headers=headers).content.decode('utf-8') soup=BeautifulSoup(response,'html.parser') #bs4解析网页 divs=soup.find('div',class_="article").find_all('div',class_="pl2") i=1 for div in divs[:10]: # 切片 获取前十本节点内容 href=div.find('a')['href'] print(href) book_response = requests.get(href, headers=headers).content.decode('utf-8') #访问书籍详情页 book_soup = BeautifulSoup(book_response, 'html.parser') # bs4解析网页 h1=book_soup.find('div',id="wrapper").find('h1').get_text() #获取标题 h1=h1.replace('\n','') h1='Top%d:%s'%(i,h1) print(h1) comment_infos='' lis=book_soup.find('div',id="comments").find('ul').find_all('li') for li in lis: author=li.find('span',class_="comment-info").find('a').get_text() conment=li.find('p',class_="comment-content").get_text() comment_info='%s%s%s%s%s%s'%('author:','\n',author,'\n','conment:',conment) print(comment_info) comment_infos='%s%s%s'%(comment_infos,'\n',comment_info) print(comment_infos) with open('top10_book.txt','a+',encoding='utf-8') as f: f.write('%s%s%s%s'%(h1,'\n',comment_infos,'\n')) i=i+1

第七天:总结,结课

故没有作业和代码!

个人总结:

1.不太适合零基础学习,起码需要点python语法基础

当然除非你有极大学习毅力以及脱产学习和足够多的时间研究!

python语法基础的学习其实已经是劝退了大部分人!

2.小课群群员广泛,大部分在职人员几乎没有时间看视频课程以及讨论

适合时间多,自主学习能力强的人入门学习,尤其是在校学生!

3.已经入门python爬虫的没必要再学习该小课!

以上作业代码仅供参考!

总而言之

学习需要靠自己,至于培训,见仁见智!!

想要快速,省事,省时省力,都是妄想!!

最后

还是 个人建议:python入门不建议报培训课!!!

请须知!

因为这些你自学就行,网上可以找到很多内容,你不花钱就能学会,你学不会(学废),花钱也没用!

不是广告推销课程,仅仅是记录流水文,非利益相关,如果侵权可联系我删除!!

说是七天,实际上是六天!

新人学,六天,比较难吧,尤其是零基础可能会学废吧!当然不排除有学习大佬,也是可能不用七天吧!

当然你可以学完基础语法再来看这篇,七天应该比较OK!

有疑问可以联系我,虽然我就是个渣渣!


大家有没有什么好的爬虫推荐教程?

你在网上看到的,95%以上的都是爬虫基础,特别是各种营销号,有很多视频,没有更“高级”的东西,包括上你看到的回答,95%以上都是回答一些基础(可能回答的人自己都没进阶搞过爬虫,只是道听途说),基础你随便找资料学就行了,B站视频也很多,大同小异。进阶主要是逆向,你会发现基本上没有教程,也很少有人讲这方面的东西,爬虫入门简单,深入很难,我推荐你看以下书籍(我认为是必看的):

小白未入门阶段 :《Python 编程从入门到实践》第二版,作者埃里克·马瑟斯(Eric Matthes)爬虫入门阶段:《Python3 网络爬虫开发实战》第二版,作者崔庆才反爬套路总结:《Python3 反爬虫原理与绕过实战》,作者韦世东数据产品+数据产品思维:《爬虫实战:从数据到产品》,作者贺思聪爬虫逆向进阶:《反爬虫AST原理与还原混淆实战》,作者李岳阳,卓斌;《安卓Frida逆向与抓包实战》作者陈佳林,《爬虫逆向进阶实战》作者李玺

视频方面,我只推荐进阶,也就是逆向相关的视频:免费:

JS 逆向:《K 哥爬虫》 K 哥的小助理带你由易到难学习逆向JS 逆向:《志远2021全新js逆向教程,学完这套就够了!(全套开源)》APP 逆向:《小肩膀 app逆向百集(105集)》

收费:

夜幕出品 JS 逆向:《JavaScript 逆向系列课》 《JavaScript 逆向高阶课》猿人学:《爬虫高阶课程》志远和小肩膀 2022 最新的 JS 逆向和 APP 逆向课程,自己在 B 站找购买方式

推荐多逛一下各大论坛:

看雪安全论坛精易逆向安全夜幕爬虫论坛穿甲兵技术社区

PS:很多搞易语言的对于逆向很拿手,可以逛逛易语言的一些论坛,重要的是思路,实现的语言无所谓,也可以关注 K 哥爬虫公众号,我会分享一些 JS 逆向知识,比较适合新手。

爬虫工程师的尽头是逆向安全工程师!


大家有没有什么好的爬虫推荐教程?

你在网上看到的,95%以上的都是爬虫基础,特别是各种营销号,有很多视频,没有更“高级”的东西,包括上你看到的回答,95%以上都是回答一些基础(可能回答的人自己都没进阶搞过爬虫,只是道听途说),基础你随便找资料学就行了,B站视频也很多,大同小异。进阶主要是逆向,你会发现基本上没有教程,也很少有人讲这方面的东西,爬虫入门简单,深入很难,我推荐你看以下书籍(我认为是必看的):

小白未入门阶段 :《Python 编程从入门到实践》第二版,作者埃里克·马瑟斯(Eric Matthes)爬虫入门阶段:《Python3 网络爬虫开发实战》第二版,作者崔庆才反爬套路总结:《Python3 反爬虫原理与绕过实战》,作者韦世东数据产品+数据产品思维:《爬虫实战:从数据到产品》,作者贺思聪爬虫逆向进阶:《反爬虫AST原理与还原混淆实战》,作者李岳阳,卓斌;《安卓Frida逆向与抓包实战》作者陈佳林,《爬虫逆向进阶实战》作者李玺

视频方面,我只推荐进阶,也就是逆向相关的视频:免费:

JS 逆向:《K 哥爬虫》 K 哥的小助理带你由易到难学习逆向JS 逆向:《志远2021全新js逆向教程,学完这套就够了!(全套开源)》APP 逆向:《小肩膀 app逆向百集(105集)》

收费:

夜幕出品 JS 逆向:《JavaScript 逆向系列课》 《JavaScript 逆向高阶课》猿人学:《爬虫高阶课程》志远和小肩膀 2022 最新的 JS 逆向和 APP 逆向课程,自己在 B 站找购买方式

推荐多逛一下各大论坛:

看雪安全论坛精易逆向安全夜幕爬虫论坛穿甲兵技术社区

PS:很多搞易语言的对于逆向很拿手,可以逛逛易语言的一些论坛,重要的是思路,实现的语言无所谓,也可以关注 K 哥爬虫公众号,我会分享一些 JS 逆向知识,比较适合新手。

爬虫工程师的尽头是逆向安全工程师!


大家有没有什么好的爬虫推荐教程?

推荐百万博主崔庆才写的《python网络爬虫开发实战》,推荐它的原因主要是因为他写得好嘿嘿,这本书涵盖面较广,爬虫入门到一些比较高级的比如验证码识别、分布式爬虫、专用框架都写得很详细,所以学完它满足一些基本需求不成问题了,比如批量下载图片、手机app抓包等等,这两本书也是博主正在自学的两本书,其中第一本已经学完了,第二本爬虫也已经学了三分之一。

当然,爬虫最主要的目标是批量下载数据,再加以分析得到的东西才比较具有价值,比如爬取b站数千万的用户信息等等,所以高级爬虫很大一方面追求性能的极致优化,会用到优化算法、多线程、分布式等等,这些都是值得深究的方向。

其实我们日常使用的搜索引擎也是爬虫,比如百度名为BaiDuSpider,百度、谷歌等搜索引擎是非常成熟的爬虫产品了,因此实现的功能也很多样化,而且速度很快,这个涉及就到多线程和算法上面的优化了。

如果大家在学习中遇到困难,想找一个python学习交流环境,可以点击下方加入我们一起学习,欢迎零基础和大佬加入,可分享资源

正在跳转

有关Python问题都可以给我留言喔


大家有没有什么好的爬虫推荐教程?

推荐百万博主崔庆才写的《python网络爬虫开发实战》,推荐它的原因主要是因为他写得好嘿嘿,这本书涵盖面较广,爬虫入门到一些比较高级的比如验证码识别、分布式爬虫、专用框架都写得很详细,所以学完它满足一些基本需求不成问题了,比如批量下载图片、手机app抓包等等,这两本书也是博主正在自学的两本书,其中第一本已经学完了,第二本爬虫也已经学了三分之一。

当然,爬虫最主要的目标是批量下载数据,再加以分析得到的东西才比较具有价值,比如爬取b站数千万的用户信息等等,所以高级爬虫很大一方面追求性能的极致优化,会用到优化算法、多线程、分布式等等,这些都是值得深究的方向。

其实我们日常使用的搜索引擎也是爬虫,比如百度名为BaiDuSpider,百度、谷歌等搜索引擎是非常成熟的爬虫产品了,因此实现的功能也很多样化,而且速度很快,这个涉及就到多线程和算法上面的优化了。

如果大家在学习中遇到困难,想找一个python学习交流环境,可以点击下方加入我们一起学习,欢迎零基础和大佬加入,可分享资源

正在跳转

有关Python问题都可以给我留言喔


大家有没有什么好的爬虫推荐教程?

分享你一个免费的受欢迎的爬虫全套教程。希望对你有所帮助,好评爆表哦

2020年Python爬虫全套课程(学完可做项目)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili


大家有没有什么好的爬虫推荐教程?

分享你一个免费的受欢迎的爬虫全套教程。希望对你有所帮助,好评爆表哦

2020年Python爬虫全套课程(学完可做项目)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili


大家有没有什么好的爬虫推荐教程?

领带金融的王宇韬《python金融大数据挖掘与分析》,适合入门。不是广告,一直跟着学下来,差不多两三周时间,已经做了几个小程序。


大家有没有什么好的爬虫推荐教程?

领带金融的王宇韬《python金融大数据挖掘与分析》,适合入门。不是广告,一直跟着学下来,差不多两三周时间,已经做了几个小程序。