用python爬取盗版小说网站的链接

mumuemhaha 2023-6-7 47 6/7

环境配置:

  • Windows10
  • pythoncharm2023.1.1
  • python环境配置
  • requests包
  • re包
  • bs4包


导入包


首先引入三个包

  1. import requests
  2. import re
  3. from bs4 import BeautifulSoup


后面会讲为什么不用from lxml import etree

的entree包后面会说

先定义头文件来反“反爬虫”(滑稽.jpg)

开始编写代码

目标url

url='http://www.ibiqu.org/148_148106/'

主页网站,不加的话还要后面分离链接

url2='http://www.ibiqu.org'

定义头文件

head_bqg={
'User-Agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36 Edg/114.0.1823.37'
}


获取源代码


把获取到的源代码给保存起来

并且用bs4的BeautifulSoup来做初步筛选…….其实可以不用做,习惯了每次拿到源代码先调整区域,不知道是不是好习惯这里html_1.select('body > div.cover > ul > a >href')当中的表达式可以打开网页控制台选择复制->复制selector来获取(edge中)

用python爬取盗版小说网站的链接
html_zhuye=requests.get(url,headers=head_bqg)
html_1=BeautifulSoup(html_zhuye.text,'html.parser')
html_1.select('body > div.cover > ul > a >href')
html_1=str(html_1)

提炼出有效的链接并且进行合并
然后就是利用正则表达式来获取href的值(也可以把他存入txt中)

ex='<a href="(.?)".?'
ex=re.compile(ex)
imglists = re.findall(ex, html_1)
for imglist in imglists:
url_max=f'{url2}{imglist}'
print(url_max)

所有代码

import requests
import re
from pyquery import PyQuery as pq
from lxml import etree
 
from bs4 import BeautifulSoup
#目标url
url='http://www.ibiqu.org/148_148106/'
#主页网站,不加的话还要后面分离链接
url2='http://www.ibiqu.org'
#定义头文件
head_bqg={
        'User-Agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36 Edg/114.0.1823.37'
}
html_zhuye=requests.get(url,headers=head_bqg)
html_1=BeautifulSoup(html_zhuye.text,'html.parser')
html_1.select('body > div.cover > ul > a >href')
html_1=str(html_1)
ex='<dd><a href="(.*?)".*?'
ex=re.compile(ex)
imglists = re.findall(ex, html_1)
for imglist in imglists:
        url_max=f'{url2}{imglist}'
        print(url_max)
 


为什么不用lxml的etree来解决


这里说一下本来可以用lxml的etree来一步到位获取但是好像由于unicode编码问题

它只会经过etree.HTML()时打印一个

转码不熟悉浅浅的试了一下好像也不行

啧~很难受,再找方法了,估计明天可以找出来

- THE END -
Tag:

mumuemhaha

6月09日23:20

最后修改:2023年6月9日
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论