爬自己的网站。。。。。
本帖最后由 zac7 于 2019-11-13 17:25 编辑之前有转载一个文章,觉得写得挺好的,属于鸡汤文吧,然后就是格式让人很讨厌,我寻思就搞下来然后整理一下。
#-*- coding:utf-8 -*-
# author:**Zac7**
# datetime:2019/11/13 12:29
# software: PyCharm
from lxml import etree
import requests
import csv
class Jt(object):
def __init__(self):
self.url = 'https://www.wyly.work/articles/26/'
self.headers={
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"
}
def get_html(self):
resp = requests.get(url=self.url,headers=self.headers).text
html = etree.HTML(resp)
pattern = '//div[@class="post-description"]//div//p/text()'
content = html.xpath(pattern)
# print(content)
content_str = ''.join(content)
new=content_str.replace('原文:', ' ')
new1=new.replace('笔记:2016-12-07', ' ')
new2=new1.replace('笔记:2016-12-08', ' ')
new3 = new2.replace('笔记:2016-12-09', ' ')
print(new3)
self.save_f(new3)
def save_f(self, new3):
with open('saf.csv', 'w',newline='') as f:
f.write(new3)
f.close()
def run(self):
self.get_html()
if __name__ == '__main__':
j=Jt()
j.run()
我没找到那种一次去除多重特定字符的方法,所以只能用笨方法,如果谁会可以那种一次性去几种字符的方法,麻烦评论区回复一下,我好改进 zac7 发表于 2019-11-13 17:08
我没找到那种一次去除多重特定字符的方法,所以只能用笨方法,如果谁会可以那种一次性去几种字符的方法,麻 ...
把要去的特定字符装数组里啊,遍历数组,然后循环去重就完事了。
list = ['要去的1','要去的2']
for item in list:
new = new.replace(item, ' ') 学习了 ,感谢 爬虫玩的溜的小心被请去喝茶 2Burhero 发表于 2019-11-13 17:08
爬虫玩的溜的小心被请去喝茶
我自己的网站,我不怕被请,哈哈 厉害啊很可以 很久以前见过你 发表于 2019-11-13 17:18
厉害啊很可以
基操基操,见笑了 这是有多无聊,自己爬自己,哈哈 挺好的,学习了 {:301_998:}谢谢楼主分享,一定要顶起来 谢谢楼主分享,一定要顶起来厉害了,值得学习