python


2、下载人民日报

<p>某●●●●网址 <code>http://rmrb.zhouenlai.info/●●●●/1946/06/1946-06-01.htm</code></p> <p><code>http://rmrb.zhouenlai.info/●●●●/' + year + '/' + month + '/index.php'</code></p> <p>python爬虫提取页面关键部分 参考:<a href="https://blog.csdn.net/csqazwsxedc/article/details/68498842">https://blog.csdn.net/csqazwsxedc/article/details/68498842</a></p> <pre><code> url = 'http://rmrb.zhouenlai.info/●●●●/' + year + '/' + month + '/index.php' # 1946/05/index.php' #需要爬数据的网址 page = requests.Session().get(url) tree = html.fromstring(page.text) result = tree.xpath('//strong//text()') # 获取需要的数据</code></pre> <p>右键某一导航,审查元素,在浏览器里看到HTML文件</p> <pre><code> &lt;div&amp; &lt;a href="1946-06-02.htm" class="b"&amp; &lt;img src="/.~images/index/html.gif" alt="1946-06-02.htm"&amp; &lt;strong&amp;1946-06-02&lt;/strong&amp; &lt;em&amp;37KB&lt;/em&amp; 1946-06-02&lt;/a&amp;&lt;/div&amp;</code></pre> <p><code>result = tree.xpath('//strong//text()')</code> //strong// :这个相当于指定标签; /text():这个是提取其中的数据。</p> <pre><code>import requests from lxml import html import os # 导入系统模块 def mkdir(path): # 引入模块 # 去除首位空格 path = path.strip() # 去除尾部 \ 符号 path = path.rstrip("\\") # 判断路径是否存在 # 存在 True # 不存在 False isExists = os.path.exists(path) # 判断结果 if not isExists: # 如果不存在则创建目录 # 创建目录操作函数 os.makedirs(path) print(path + ' 创建成功') return True else: # 如果目录存在则不创建,并提示目录已存在 print(path + ' 目录已存在') return False # # 定义要创建的目录 # mkpath = "d:\\qttc\\web\\" # # 调用函数 # mkdir(mkpath) def saveHtml(file_name, file_content): # 注意windows文件命名的禁用符,比如 / # isExists = os.path.exists(file_name+".html") # 判断结果 with open(file_name.replace('/', '_') + ".html", "wb") as f: # 写文件用bytes而不是str,所以要转码 f.write(file_content) f.close() # if not isExists: # with open(file_name.replace('/', '_') + ".html", "wb") as f: # # 写文件用bytes而不是str,所以要转码 # f.write(file_content) # f.close() # else: # print("文件存在") def getHtml(url): page = requests.Session().get(url) tree = page.content return tree def start_download(month, year): os.getcwd() # 查看当前路径 save_path = 'D:\\PycharmProjects\\rmrb\\' + year + '\\' + month # 1946\\05' mkdir(save_path) os.chdir(save_path) # 更改至d盘相应路径下 url = 'http://rmrb.zhouenlai.info/●●●●/' + year + '/' + month + '/index.php' # 1946/05/index.php' #需要爬数据的网址 page = requests.Session().get(url) tree = html.fromstring(page.text) result = tree.xpath('//strong//text()') # 获取需要的数据 _url = 'http://rmrb.zhouenlai.info/●●●●/' + year + '/' + month + '/' # 1946/05/' url_ = '.htm' # print (len(result)) print('开始下载:' + year + ' - ' + month) # 输出当前年月 i = 0; for url1 in result: # print(_url+ url1 + url_) saveHtml(url1, getHtml(_url + url1 + url_)) print(i) i = i + 1 print(year + ' - ' + month + " 下载成功") int_year = 1947 start_month = 10 for i in range(15): int_month = start_month year = str(int_year) for j in range(3): # print("步进值i是:"+str(j)) month = str(int_month) start_download( month, year) int_month = int_month + 1 # if (int_month &lt; 9): # int_month = int_month + 1 # else: # start_month = 1 # break int_year = int_year + 1 </code></pre>

页面列表

ITEM_HTML