问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

lxml cssselect怎么用

发布网友 发布时间:2022-04-10 15:38

我来回答

2个回答

懂视网 时间:2022-04-10 19:59

requests from lxml import etree from fake_useragent import UserAgent import pymongo class QiShuSpider(object): def __init__(self): self.base_url="https://www.qisuu.la/soft/sort01/" self.headers={ "User-Agent":UserAgent().random, "HOST":"www.qisuu.la", "Referer":"https://www.qisuu.la", } def get_index_code(self): #声明一个变量,记录重连的次数 retry_link_count=0 while True: try: response=requests.get(self.base_url,headers=self.headers) # print(response.text) except Exception as e: print("连接奇书网失败,原因是:",e) print("正在尝试第{}次重连....".format(retry_link_count)) retry_link_count+=1 if retry_link_count>=5: print("尝试连接次数已经达到五次,停止连接") break else: html_obj=etree.HTML(response.text) # print(response.text) #获取option这个标签列表 option_list=html_obj.cssselect("select>option") return option_list def get_every_page_code(self): option_list=self.get_index_code() for option in option_list: value=option.get("value") #拼接每一页的完整地址 base_url="https://www.qisuu.la"+value print("正在爬取{}链接".format(base_url)) response=requests.get(base_url,headers=self.headers).text html_obj=etree.HTML(response) #获取每一本小数所在的a标签的一个列表 a_list=html_obj.cssselect(".listBox li>a") for a in a_list: novel_href=a.get("href") #拼接每一本小说的完整地址 novel_url="https://www.qisuu.la"+novel_href print("正在爬取链接为{}的小说".format(novel_url)) self.parse_every_novel(novel_url) def parse_every_novel(self,novel_url): reponse=requests.get(novel_url,headers=self.headers) reponse.encoding="utf-8" html_obj=etree.HTML(reponse.text) novel_name=html_obj.cssselect(".detail_right>h1")[0].text clik_num=html_obj.cssselect(".detail_right>ul>li:nth-child(1)")[0].text novel_size=html_obj.cssselect(".detail_right>ul>li:nth-child(2)")[0].text novel_type=html_obj.cssselect(".detail_right>ul>li:nth-child(3)")[0].text update_time = html_obj.cssselect(".detail_right>ul>li:nth-child(4)")[0].text novel_status = html_obj.cssselect(".detail_right>ul>li:nth-child(5)")[0].text novel_author = html_obj.cssselect(".detail_right>ul>li:nth-child(6)")[0].text novel_run_envir=html_obj.cssselect(".detail_right>ul>li:nth-child(7)")[0].text novel_lasted_chapter=html_obj.cssselect(".detail_right>ul>li:nth-child(8)>a")[0].text dict_novel={"小说名称":novel_name,"点击次数":clik_num,"小说大小":novel_size,"小说类型":novel_type,"更新时间":update_time,"小说状态":novel_status,"小说作者":novel_author,"小说运行环境":novel_run_envir,"小说最新章节":novel_lasted_chapter} collection.insert_one(dict_novel) def start_spider(self): self.get_every_page_code() if __name__ == ‘__main__‘: client = pymongo.MongoClient(host="localhost", port=27017) db = client.novel collection = db.novel spider=QiShuSpider() spider.start_spider()

 

使用lxml的css选择器用法爬取奇书网并保存到mongoDB中

标签:环境   imp   soft   www.   exce   ide   link   记录   pymongo   

热心网友 时间:2022-04-10 17:07

  使用的是 lxml.etree.XML(xml字符串), etree.fromstring(xml字符串)也可以
  import lxml.etree
import urllib.request
from lxml.etree import *
str_url = ''
request = urllib.request.Request(str_url)
xml_text = urllib.request.urlopen(request).read()
root = lxml.etree.XML(xml_text) # xml_text 为xml纯文本文件

  root 为lxml.etree._Element 对象,含有多个函数
  root 含有find,findall, xpath,get,getchildren函数。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 黑龙江债权转让合同纠纷该怎样取证 安徽债权转让合同纠纷应该怎么样取证 大腿莫名其妙的疼痛是怎么回事? 请问各位大腿酸痛是怎么回事 大腿根疼,怎么回事 微博怎么空格呀【着急】ing 把复制换成接龙怎么换法? 怎样让文字竖着粘贴下来? 满月酒山歌祝福语 微博两个词条之间可用空格? 我还知道北极有什么等级的动物 油条做法放温水和冷水有什区别 油条面用冷水还是热水和面?有啥道理? 油条用冷水还是热水和面 炸油条的面醒多长时间 北极有哪些动物?这些动物的英文名称又是哪些? 只要英文名称和中文名称! 北极所有的动物! 做油条如果用了泡打粉和小苏打,酵母用的冷水,能发起来吗? 请问怎样办理境外旅游保险,我下周要去韩国一趟,买哪种保险好 炸油条的有可以直接用冷水洗吗 我用冷水弄了油条面还能炸吗 我一天喝水3000ml算多吗?水是不是喝的越多越好? 为何6个中国车企的利润之和还不如一个丰田? 孕妇喝茶叶水可以吗会对胎儿有影响吗 可以看手机排行的软件是什么 手机下载什么软件可以查看上市公司至今的涨跌走势图? oppo声音小了怎么回事 如何将一个网站图片区中所有图片下载,,不只是当前页面,还有他的图片组所中的图片 oppo x907手机微信下载的图片区哪里找啊 如何下载17k中图片区中的图片 在OPPO乐园里面下载的图片区哪看 活着再见的分集剧情 活着再见的剧情简介 3dm的历史有人知道吗 《活着再见》12集后还有吗? 我想要sj的写真 求网址,要可以用寻雷下载的,最好也有图片区 活着再见一共多少集, 胡经宁志是什么电视剧? 标题 为什么论坛有的版块比如东方靓女图区的图片没办法用迅雷批量下载? 为什么有人举报3dm的辐射4? 活着再见分集剧情程建邦和刘亚男什么关系 活着再见好看还是余罪好看 请问湖南省公安厅驻东莞办事处的详细地址