本人是一Python学习新手,正在学习Python中,前几天上网搜了下Python的应用场景,主要有:网络爬虫、web开发、自动化运维、机器学习、大数据、人工智能等方向,考虑到这几个方面要求的能力,新手从Python爬虫入门比较简单,于是就将前几天的学习总结成这篇文章。
一、开始准备
环境:windows8.1、Python3.6
主要用到的库:requests第三方库,BeautifulSoup库
二、安装环境:
1、Python安装:
去官网(https://www.python.org/)下载跟你自己电脑系统适配的版本安装包,双击安装包,安装即可。
2、requests及BeautifulSoup第三方库安装:
windows系统通过pip安装第三方库(pip在安装Python的时候就已经附带着安装了)。比如安装requests,在cmd控制台下键入命令:pip install requests即可完成requests安装(注意保持网络的连接)。BeautifulSoup的安装类似:pip install beautifulsoup4。
环境安装完成后,就写代码了。
三、代码编写:
废话不多说,直接上代码了。
文件名:first.py
import requests
from bs4 import BeautifulSoup as BS
import time
def download(url):
# url = 'https://xs.sogou.com/chapter/14734139_481036348916/'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36',
'Host': 'xs.sogou.com',
'Upgrade-Insecure-Requests': '1',
'Connection': 'keep-alive',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
}
response = requests.get(url, params=headers) # 下载网页
data = response.text # 获取网页源码
# print(data)
soup = BS(data, 'lxml') # 将网页源码解析成Soup文档树
# 下面的几行是获取小说的一些信息
paperdiv = soup.select('div[class="paper-box paper-article"]')[0]
# print(paperdiv)
paperh1 = soup.select('div[class="paper-box paper-article"] h1')[0].string
paperinfo = soup.select('div[class="paper-box paper-article"] div[class="info"]')[0].string
papercontent = soup.select('div[class="paper-box paper-article"] div[id="contentWp"]')[0].get_text()
print(paperh1 + '\n' + paperinfo + '\n' + papercontent + '\n') # 打印获取到的信息
# PS:关于BeautifulSoup这里有看不懂的朋友,可以参考文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html
# https://xs.sogou.com/chapter/14734139_481036348916/
# 整个小说
url = 'https://xs.sogou.com/list/14734139/'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36',
}
response = requests.get(url, params=headers)
data = response.text
soup = BS(data, 'lxml')
papera = soup.select('ul[class="chapter clear"] a')
# print(papera)
for a in papera:
a = a.get('href') # href="/chapter/14734139_481036348916/"
pa = 'https://xs.sogou.com' + str(a) # 完整的url
# print(pa)
download(pa)
time.sleep(1)
可以在cmd下进入到first.py文件所在的目录,然后键入python first.py即可运行程序。
可以看到结果:
程序写的不规范,还请各位多多担待哈,(●'◡'●)。喜欢的话可以关注下或转发哈,也可以打赏幺。。