当前位置:   article > 正文

Python基础代码爬取超链接文字及链接_如何爬取文件名里的超链接

如何爬取文件名里的超链接

        今天给大家分享一个Python基本代码爬取超链接文字及超链接,及一一对应存放到本地文件夹TXT文件中,这里因为我是一个Python初学者,所以所写的代码非常简单,对大家而言也是非常容易理解的。

        这里我以我的博客为例写了一个,前面还是逐步解释,后面会附上完整的代码:

首先我们依旧是爬取网页的三个步骤,HTML下载器(生成URL,下载内容),第二;URL管理器,第三;HTML解析器(解析输出):

  1. url = "https://blog.csdn.net/zjy18886018024?t=1"
  2. con=requests.get(url).text
  3. content = urllib.request.urlopen(url).read()
  4. soup=BeautifulSoup(content,"html.parser")

下面是使用正则表达式爬取超链接,这个正则表达式还是有一些难度,这里我就不多加详解,想要了解的朋友可以去网上参考教程。

lianji=re.findall('href="(.*?details\/\d{8})',con)

接来来是对空格和字符“原”的处理:

  1. nu.append(num[i].replace("原",""))
  2. strc.append(nu[j].strip())

这里就是对超链接文字和链接的一一对应处理:

 tops+=str(strc[m])+"\t"+lianji[m]+"\n"

这里的话可能很多朋友和我犯了一个错误,就是存入TXT文件中的时候,不能以列表的形式写入,不然总会报错。好了,现在就附上完整的代码与结果截图:

  1. # coding:utf-8
  2. import urllib.request
  3. from bs4 import BeautifulSoup
  4. import requests
  5. import re
  6. num=[]
  7. lianjie=[]
  8. url = "https://blog.csdn.net/zjy18886018024?t=1"
  9. con=requests.get(url).text
  10. content = urllib.request.urlopen(url).read()
  11. soup=BeautifulSoup(content,"html.parser")
  12. top=soup.find_all(attrs={"class":"text-truncate"})
  13. lianji=re.findall('href="(.*?details\/\d{8})',con)
  14. i=0
  15. nu=[]
  16. while i<len(top):
  17. num.append(top[i].get_text())
  18. nu.append(num[i].replace("原",""))
  19. i=i+1
  20. j=0
  21. strc=[]
  22. while j<len(nu):
  23. # print(nu[j].strip(),lianji[i])
  24. strc.append(nu[j].strip())
  25. j=j+1
  26. m=0
  27. tops=""
  28. while m<len(strc):
  29. tops+=str(strc[m])+"\t"+lianji[m]+"\n"
  30. m=m+1
  31. print(tops)
  32. k=0
  33. while k<len(tops):
  34. with open("C:\\Users\\ASUS\\Desktop\\txt1\\neirong.txt","a+") as f:
  35. f.write(tops[k])
  36. k=k+1
  37. f.close()
  38. print("写入成功")

结果如下:




这些代码很基础简单吧,所以不管我们学什么,首先看重的是基础,万丈高楼平地起,切不可好高骛远。好了,今天就分享到这里了,有什么问题可以给我留言,我给大家解答。




声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/650336
推荐阅读
相关标签
  

闽ICP备14008679号