资源简介
运用了requests os re lxml threading queue prettytable bs4
等库,实现了小说的智能选择与爬取。
代码片段和文件信息
import requests
import os
import re
import time
from lxml import etree
from threading import Thread
from queue import Queue
from prettytable import PrettyTable
import prettytable as pt
from bs4 import BeautifulSoup
def request():
global input_name
# “https://www.booktxt.net/2_2219/“
input_name = input(“请输入要查找的小说:\n“)
headers = {
‘user-agent‘: ‘Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML like Gecko) ‘
‘Chrome/73.0.3683.86 Safari/537.36 ‘
}
root = “https://www.xsbiquge.com/search.php?keyword=“ + input_name
response = requests.get(root headers=headers)
# page_content = etree.HTML(response.text)
response.encoding = ‘utf-8‘
information = 0
def find_details(information):
headers = {
‘user-agent‘: ‘Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML like Gecko) ‘
‘Chrome/73.0.3683.86 Safari/537.36 ‘
}
root = “http://www.biquger.com/modules/article/search.php?searchkey=“ + input_name
response = requests.get(root headers=headers)
page_content = etree.HTML(response.content)
response.encoding = ‘utf-8‘
find_first = page_content.xpath(‘string(//*[@id=“wrapper“]/table)‘)
print(find_first)
print(len(find_first))
find_first_show = page_content.xpath(“normalize-space(string(//div[@class=‘novelslist2‘]/ul/li[position()>1]))“)
global information_first
if len(find_first) <= 1:
str(find_first_show)
print(find_first_show)
input_name_find = input(“你所查找的小说仅此一个按1开始下载,按2返回查找页面\n“)
if input_name_find.replace(“.“ ‘‘).isdigit():
if input_name_find.count(“.“) == 0:
if int(input_name_find) == 1:
find_first_a = page_content.xpath(
“//div[@class=‘novelslist2‘]/ul/li[position()>1]/span[@class=‘s2‘]/a/text()“)
print(find_first_a)
index_first = find_first_a.index(input_name)
find_first_href = page_content.xpath(
“//div[@class=‘novelslist2‘]/ul/li[position()>1]/span[@class=‘s2‘]/a/@href“)
information_first = find_first_href[index_first]
return 0
if int(input_name_find) == 2:
request()
find_details(information)
else:
print(“请不要输入带点的小数,只能输入1或2 3秒后返回“)
time.sleep(3)
find_details(information)
else:
print(“请输入1或2 不得输入其他字符 3秒后将返回当前的小说页面“)
print(“3“)
time.sleep(1)
print(“2“)
time.sleep(1)
print(“1“)
time.sleep(1)
find_details(information)
class MyThread(Thread):
def __init__(self q):
Thread.__init__(self)
self.q = q
def run(self):
global index
- 上一篇:抖音视频无水印核心源码
- 下一篇:15个pyqt5项目
相关资源
- 用python绘制txt文本中中文汉字的词云
- Python-中国科学院大学教务抢课程序多
- pygame小游戏-全民打飞机(关卡选择飞
- 测试工程师相关学习视频(包含pyth
-
me
tadata.txt - excel批量转换成txt文件的转换工具
- 图片感兴趣区域ROI获取——鼠标选择
- pi_million_digits.txt
- 2017年传智黑马python基础加就业班视频
- 黑马15期Python.txt
- 传智播客python人工智能项目黑马程序
- 2019马哥全新Python全栈+自动化+爬虫+数
- 利用python将txt中数据按一定规则转录
- Python+淘宝网商品数据分析+原代码.t
- world alcohol.txt
- 炼数成金:Python数据分析.txt
- python简单爬取微博头条标题前N条.tx
- python聊天室---pyqt5+socket+Thread聊天室
- Programming Python(第四版中文上下两册
- txt文档批量转excel
- 机器学习从入门到精通50天python源码网
- 二元线性回归python代码
- Python网络爬虫实战Scrapy.txt
- Python接口测试框架实战与自动化进阶
- 多线程爬虫
- generate_train_val_test_txt.py
- Python读取Las与转换为TXT.zip
- txt.py python 对比不同的txt文档数据 不
- Python3爬虫入门到精通课程视频附软件
- python3 网络爬虫 多线程 无限爬网址
评论
共有 条评论