首先打开一个网站,我以一个图片网为例
右键页面空白处,点击审查元素
然后点击网络,勾上禁用缓存选项,(如果没有,就不勾),然后Ctrl+r刷新页面
左键双击任意一行(如图中鼠标位置所示)
在标头中往下拉,找到user agent,此标头用于模拟浏览器的访问,在get请求中,一般只带这一个标头就够了,复制下来,并在python中以一个字典的形式储存在一个变量里(后面会有完整代码展示)
还是在标头这一栏目里,找到请求URL网址(一般情况是全部复制完,但该网址如果全部复制完的话,是有问题的,全是乱码,无论任何形式都解不出来,因此,只复制前半部分官网网址就够了)复制下来,并在python中以字符串的形式赋予给一个变量,导入requests库,将URL和headers参数分别写入,方法用get(并不是你想用什么方式就用什么方式,常用方式一般是get和post,具体用什么方式,看抓包工具给你什么方式)
这里是给的get方式,那我们就用get方式,请求之后,我们如果直接打印text,会出现乱码,因此,我们先矫正,以下是第一部分(获取网址)的完整代码
第二部分,开始提取我们想要的内容,他的整个网页代码太多,并不是所有的都是我们想要的,我们用正则表达式来提取,先导入re库,在写正则表达式之前,我们需要找到,我们所需要的东西是什么样的格式?我们回到网页中去,随机右键一张图片,就可以看到他的代码格式
都是以src=开头,我们先用compile预加载,然后用括号捕获我们想要的信息(若在正则表达式中打了括号,在findall中,将会只返回括号内的内容)第二部分(提取出我们所要的信息)完整代码如下
最后一步,我们要把信息保存起来,我们发现这个地址并不全,他少了前面的官网前缀,因此,我们要全部加上,存图片之前,先在D盘中新建一个文件夹(或者你想什么盘都可以,除了C盘,虽然几张图片存在C盘也没有什么影响,但这是一个很好的习惯)第三部分完整代码如下
对于最后一部分有几点需要注意,首先,open的第二个参数应该是二进制写法'wb',还有就是在写入存储位置后再写上图片的名字后,一定要加上点jpg后缀,Index是我取的一个名字,你们也可以取其他的名字,我就是直接由数字来命名了图片,最后,写入的时候要用content,而不是text。最终结果展示