python 爬起点目录

 1 #目标:书名,简介,作者,字数
 2 #首先确定源代码的列表
 3 import urllib.request
 4 import re
 5 from bs4 import BeautifulSoup
 6 import random
 7 import time
 8
 9 load=input("路径:")
10 num=input("输入页数:")
11
12
13
14
15 def gethtml(url):                     #获取页面源代码html
16     page=urllib.request.urlopen(url)
17     html=page.read().decode(‘utf-8‘)  #html是一个列表
18     soup=BeautifulSoup(html,‘html.parser‘)
19     return soup
20
21 def getbook(soup,load):
22     for i in range(1,21):
23
24         xl=soup.find_all("li",{"data-rid":str(i)})
25         sm = re.compile(r‘<h4><a .*?>(.*?)</a></h4>‘)    #匹配书名
26         sm1=sm.findall(str(xl))
27         a="《"+sm1[0]+"》"
28
29         ze = re.compile(r‘<a class="name" .*?>(.*?)</a>‘)
30         ze1 = ze.findall(str(xl))                        #匹配作者名
31         b=ze1[0]
32
33         jj=re.compile(r‘<p class="intro">([\s\S]*?)</p>‘)
34         jj1=jj.findall(str(xl))                          #匹配简介
35         c=jj1[0]
36
37         zs=re.compile(r‘<span>(.*?)</span>‘)
38         zs1=zs.findall(str(xl))
39         d=zs1[1]
40         content=[a,b,c,d]
41
42         for j in range(0,4):
43
44             with open(load, ‘a‘) as f:
45                 if j == 3:
46                     f.write(content[3])
47                 else:
48                     f.write(content[j]+"\n")
49
50         with open(load, ‘a‘) as f:
51             f.write("\n\n----------------------------------------------------------------------\n\n")
52 def geturl(num):
53     for page in range(1,int(num)+1):
54
55         url="http://fin.qidian.com/?size=-1&sign=-1&tag=-1&chanId=-1&subCateId=-1&orderId=&update=-1&page=%d&month=-1&style=1&vip=0" % page
56
57         soup=gethtml(url)
58         getbook(soup,load)
59         time.sleep(2.5)
60
61
62 geturl(num)

实现

时间: 2024-12-22 04:17:13

python 爬起点目录的相关文章

通过python 爬取网址url 自动提交百度

通过python 爬取网址url 自动提交百度 昨天同事说,可以手动提交百度这样索引量会上去. 然后想了下.是不是应该弄一个py 然后自动提交呢?想了下.还是弄一个把 python 代码如下: import os import re import shutil REJECT_FILETYPE = 'rar,7z,css,js,jpg,jpeg,gif,bmp,png,swf,exe' #定义爬虫过程中不下载的文件类型 def getinfo(webaddress): #'#通过用户输入的网址连接

Docker最全教程之Python爬网实战(二十一)

原文:Docker最全教程之Python爬网实战(二十一) Python目前是流行度增长最快的主流编程语言,也是第二大最受开发者喜爱的语言(参考Stack Overflow 2019开发者调查报告发布).笔者建议.NET.Java开发人员可以将Python发展为第二语言,一方面Python在某些领域确实非常犀利(爬虫.算法.人工智能等等),另一方面,相信我,Python上手完全没有门槛,你甚至无需购买任何书籍! 由于近期在筹备4.21的长沙开发者大会,耽误了不少时间.不过这次邀请到了腾讯资深技术

使用python爬取csdn博客访问量

最近学习了python和爬虫,想写一个程序练练手,所以我就想到了大家都比较关心的自己的博客访问量,使用python来获取自己博客的访问量,这也是后边我将要进行的项目的一部分,后边我会对博客的访问量进行分析,以折线图和饼图等可视化的方式展示自己博客被访问的情况,使自己能更加清楚自己的哪些博客更受关注,博客专家请勿喷,因为我不是专家,我听他们说专家本身就有这个功能. 一.网址分析 进入自己的博客页面,网址为:http://blog.csdn.net/xingjiarong 网址还是非常清晰的就是cs

Python扫描指定目录下(包括子目录)的文件

扫描指定目录下的文件,或者匹配指定后缀和前缀的函数. 如果要扫描指定目录下的文件,包括子目录,调用scan_files("/export/home/test/") 如果要扫描指定目录下的特定后缀的文件(比如jar包),包括子目录,调用scan_files("/export/home/test/", postfix=".jar") 如果要扫描指定目录下的特定前缀的文件(比如test_xxx.py),包括子目录,调用scan_files("

python爬取某个网站的图片并保存到本地

python爬取某个网站的图片并保存到本地 #coding:utf-8 import urllib import re import sys reload(sys) sys.setdefaultencoding('gb2312') #获取整个页面的数据 def getHtml (url): page = urllib.urlopen(url) html = page.read() return html #保存图片到本地 def getImg(html): reg = r'src="(.+?\.

python爬爬爬之单网页html页面爬取

python爬爬爬之单网页html页面爬取 作者:vpoet 日期:大约在夏季 注:随意copy 不用告诉我 #coding:utf-8 import urllib2 Response=urllib2.urlopen("http://www.baidu.com"); Html=Response.read(); print Html; 运行结果: 再看看百度的源码: 是一样,没骗你吧

python爬取某个网页的图片-如百度贴吧

python爬取某个网页的图片-如百度贴吧 作者:vpoet 日期:大约在冬季 注:随意copy,不用告诉我 #coding:utf-8 import urllib import urllib2 import re if __name__ =="__main__": rex=r'src="(http://imgsrc.baidu.com/forum/w%3D580.*?\.jpg)"'; Response=urllib2.urlopen("http://t

使用python爬取MedSci上的影响因子排名靠前的文献

使用python爬取medsci上的期刊信息,通过设定条件,然后获取相应的期刊的的影响因子排名,期刊名称,英文全称和影响因子.主要过程如下: 首先,通过分析网站http://www.medsci.cn/sci的交互过程.可以使用谷歌或火狐浏览器的“审查元素-->Network”,然后就可以看到操作页面就可以看到网站的交互信息.当在网页上点击“我要查询”时,网页会发送一个POST消息给服务器,然后,服务器返回查询结果 然后,将查询到的结果使用正则表达式提取出需要的数据. 最后将提取出的数据输出到文

python导入上级目录中的模块

python导入同级别模块很方便: import xxx 要导入下级目录页挺方便,需要在下级目录中写一个__init__.py文件 from dirname import xxx 要导入上级目录,可以使用sys.path: 首先sys.path的作用是:当使用import语句导入模块时,解释器会搜索当前模块所在目录以及sys.path指定的路径去找需要import的模块 所以改变思路,直接把上级目录加到sys.path里:sys.path.append('../') from fatherdir