python爬虫的基本框架

和自甴很熟 提交于 2020-12-04 04:01:52

1.爬虫的基本流程:

通过requests库的get方法获得网站的url

浏览器打开网页源码分析元素节点

通过BeautifulSoup或者正则表达式提取想要的数据

储存数据到本地磁盘或者数据库

2.正式开工啦

url = “http://www.jianshu.com”

page = requests.get(url)  #发现返回状态码403,说明有问题出现(除200外,其他的都是有问题的)

#这个时候查看一下爬虫的robots协议,的确有些问题,解决方案如下:

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'} 
获取html页面

page = requests.get(url, headers = headers)

demo = page.text

#记住,有时候有可能出现编码问题

page.encoding = page.apparent_encoding

#将获取的内容转换为BeautifulSoup格式,并将html.parser作为解释器(熬一锅汤)

soup = BeautifulSoup(demo, 'html.parser')

#以格式化的形式打印html

print(soup.prettify())       #利于分析元素节点

#查找所有a标签中class=‘tilte’的语句

titles = soup.find_all('a', 'title') 

#打印查找到的每一个标签的string和文章链接

for titile in titles:

  print(title.string)      #打印字符串

  print("http://www.jianshu.com" + title.get('href'))    #利用title的get方法获取连接,可通过dir(titles)查看可用的方法

#将获取的内容写入本地磁盘

with open('aa.txt', 'w') as f:

  for title in titles:

    f.write(title.string+'\n')

    f.write('http://www.jianshu.com' + title.get('href') + '\n\n')

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!