学习python已经差不多三个月了,断断续续没有目标得学着,python上手确实快,也很迅速的迷上了python,而且自己之前接触过web前端,比较片面的学习过js,有一些基础。在pygame上我自闭了几个星期后决定转向先学习python的爬虫等其他的比较好玩的模块。下面就是爬取一个HTTPS协议的一个网页(特定页),主要使使用了正则表达式和beautifulsoup4结合来获取到图片的url(其中的for循环拆分索引和值也很关键,使其能遍历,分析其网页图片结构,发现获取到的url不是像其他网站带上域名的,我们要为其图片的url添加上域名,详细请看源代码。)以及使用selenium模块模拟浏览器行为从而增加文章的访问量,这个网站不是通过requests请求就能增加其访问量,可能是没有触发JS脚本吧。源码的注释我也写得比较少,哎呀,我比较懒啦,不好意思啊,有基础知识认真看的话就能看得懂了,毕竟都是比较简单的语法,就剩语义问题了,谷歌百度分分钟解决,啦啦啦,挨打!
python爬虫网页的基本流程:
其实可以将url请求响应分为两步,一步是请求,一步是响应
1.首先选取一部分精心挑选的种子URL。
2.将这些URL放入待抓取URL队列。
3.从待抓取URL队列中读取待抓取队列的URL,解析DNS,并且得到主机的IP,并将URL对应的网页下载下来,存储进已下载网页库中。此外,将这些URL放进已抓取URL队列。
4.分析已抓取URL队列中的URL,从已下载的网页数据中分析出其他URL,并和已抓取的URL进行比较去重,最后将去重过的URL放入待抓取URL队列,从而进入下一个循环。(我这个例子并没应用)
源代码如下:
import requests
from bs4 import BeautifulSoup
from urllib import request
import ssl
import re,os
import time
import urllib3
from selenium import webdriver
y = 0
path= r"F:\text"
os.makedirs('D:\\zytupian',exist_ok=True)
times = time.strftime("%Y-%m-%d %H-%M-%S")
headers = {