ゼロベースpython 3爬虫類登り起点小説
3346 ワード
今回爬虫類は、分類、タイトル、内容を含む起点中国語ネット小説を掲載し、別々に保存した.
主に基礎知識を用いて、完全に基礎がゼロなので、scrapy、redis分布式あるいはマルチプロセスマルチスレッドなどの
jsレンダリング右ボタンをクリックできません.どうすればいいですか?
起点の中国語ネットは海賊版に打撃を与えて、jsを使ってレンダリングを行って、だから小説の閲覧ページに入って右ボタンをクリックすることができなくて、しかし私達も仕方がないのではありません
一般的な解読方法は、ブラウザにアクセスする設定--セキュリティ設定--jsスクリプトを閉じることです.
あなたのブラウザのショートカットキーの設定を見ることができて、中にボタンがあってページのソースコードの組み合わせのキーを開けて、私のここはcrtl+uです
あまり話さないで、コードをつけてください.
これはまったく基礎がなくて、すべて基礎知識で、読めないなら基礎知識を復習することができます
主に基礎知識を用いて、完全に基礎がゼロなので、scrapy、redis分布式あるいはマルチプロセスマルチスレッドなどの
jsレンダリング右ボタンをクリックできません.どうすればいいですか?
起点の中国語ネットは海賊版に打撃を与えて、jsを使ってレンダリングを行って、だから小説の閲覧ページに入って右ボタンをクリックすることができなくて、しかし私達も仕方がないのではありません
一般的な解読方法は、ブラウザにアクセスする設定--セキュリティ設定--jsスクリプトを閉じることです.
あなたのブラウザのショートカットキーの設定を見ることができて、中にボタンがあってページのソースコードの組み合わせのキーを開けて、私のここはcrtl+uです
あまり話さないで、コードをつけてください.
import requests,os
from lxml import etree
headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.5383.400 QQBrowser/10.0.1313.400'}
def getbookname(url):
html=requests.get(url,headers=headers)
objects=etree.HTML(html.text)
objs=objects.xpath("//ul[@class='all-img-list cf']/li")
urlbox=[]
for obj in objs:
title=obj.xpath('div[2]/h4/a/text()')[0]
bigurls=obj.xpath('div[2]/h4/a/@href')[0]
bigurl='https:'+bigurls+'#Catalog'
#
parentfilename='D:/ /'+title
info = {
'title': title,
'parentfilename':parentfilename,
'bigurl': bigurl
}
urlbox.append(info)
#
if not os.path.exists(parentfilename):
os.makedirs(parentfilename)
# print(urlbox)
return urlbox
def getbookurls(url):
charpters = requests.get(url, headers=headers)
objects = etree.HTML(charpters.text)
objs=objects.xpath("//ul[@class='cf']/li")
tinybox=[]
for obj in objs:
try:
charpnames=obj.xpath('a/text()')[0]
charpurls=obj.xpath('a/@href')[0]
info={
'charpnames':charpnames,
'charpurls':'https:'+charpurls
}
tinybox.append(info)
# print(charpnames,charpurls)
except:
pass
return tinybox
def getcontent(url):
content = requests.get(url, headers=headers)
objects = etree.HTML(content.text)
objs=objects.xpath("//div[@class='read-content j_readContent']/p/text()")
neirong=[]
for obj in objs:
obj=obj.replace('\u3000\u3000','')
print(obj,end='')
neirong.append(obj)
return neirong
def main(url):
bookurls=getbookname(url)
for bookurl in bookurls:
subfilename=bookurl['parentfilename']
# print(subfilename)
get=getbookurls(bookurl['bigurl'])
#
for g in get:
charptername=subfilename+'/'+g['charpnames']
if not os.path.exists(charptername):
os.makedirs(charptername)
bs=getcontent(g['charpurls'])
with open('%s/%s.txt' % (charptername, g['charpnames']), 'w') as f:
for b in bs:
f.write(b)
if __name__ == '__main__':
url = 'https://www.qidian.com/free/all?page=1&vip=hidden&style=1&pageSize=20&siteid=1&pubflag=0&hiddenField=1'
main(url)#
これはまったく基礎がなくて、すべて基礎知識で、読めないなら基礎知識を復習することができます