首页 / 爬虫 / python爬虫问题!在线等解答!
python爬虫问题!在线等解答!
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python爬虫问题!在线等解答!,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3449字,纯文字阅读大概需要5分钟。
内容图文
![python爬虫问题!在线等解答!](/upload/InfoBanner/zyjiaocheng/243/ee576751817747cb8deefa0ca8945649.jpg)
然后我想用这些url爬取其他我想要的信息,合成一个.csv以方便导入数据库。
在以下的代码里,我只写了几项我想要爬取的内容来测试能否实现(如爬取课程时间表等五项我需要的信息还没有写入代码中),但是在sublime中control+b 之后,虽不报错,但是无法抓取任何内容,只能创建csv文件。
如果能找到漏洞,小弟还有一个问题,就是是不是循环次数太多了,第一层循环就2000层,里面大概每个次级for循环还有10层吧,应该怎么优化呢。。。
求大神指教!thx
***代码如下***
#!usr/bin/python
# -*- coding:utf-8 -*-
import sys;
import os
import urllib
import requests
import csv
from bs4 import BeautifulSoup
reload(sys);
sys.setdefaultencoding("utf8")
f = open("all_url.txt","r")
lines = f.readlines()
for line in lines:
html = urllib.urlopen(line)
content = html.read()
html.close()
soup = BeautifulSoup(content)
all_coursename = soup.find_all('h2', class_="color-primary-text headline-1-text flex-1")
COURSENAME = []
for coursename in all_coursename:
COURSENAME.append(coursename)
all_courseins = soup.find_all(class_="text-light offering-partner-names")
COURSEINSTITUTION = []
for courseins in all_courseins:
COURSEINSTITUTION.append(courseins)
all_courseurl = soup.find_all('a', class_="rc-OfferingCard nostyle")
COURSEURL = []
for courseurl in all_courseurl:
COURSEURL.append(courseurl)
csvfile = file('all_info.csv', 'wb')
writer = csv.writer(csvfile)
writer.writerow(['COURSE_NAME', 'COURSE_INSTITUTION', 'COURSE_URL'])
for i in range (0,len(COURSENAME)):
data = [
(COURSENAME[i], COURSEINSTITUTION[i], COURSEURL[i])
]
writer.writerows(data)
csvfile.close()
回复内容:
我已经爬取了coursera上所有课程的url,放在了all_url.txt 文件中,大概2000多行。
然后我想用这些url爬取其他我想要的信息,合成一个.csv以方便导入数据库。
在以下的代码里,我只写了几项我想要爬取的内容来测试能否实现(如爬取课程时间表等五项我需要的信息还没有写入代码中),但是在sublime中control+b 之后,虽不报错,但是无法抓取任何内容,只能创建csv文件。
如果能找到漏洞,小弟还有一个问题,就是是不是循环次数太多了,第一层循环就2000层,里面大概每个次级for循环还有10层吧,应该怎么优化呢。。。
求大神指教!thx
***代码如下***
#!usr/bin/python
# -*- coding:utf-8 -*-
import sys;
import os
import urllib
import requests
import csv
from bs4 import BeautifulSoup
reload(sys);
sys.setdefaultencoding("utf8")
f = open("all_url.txt","r")
lines = f.readlines()
for line in lines:
html = urllib.urlopen(line)
content = html.read()
html.close()
soup = BeautifulSoup(content)
all_coursename = soup.find_all('h2', class_="color-primary-text headline-1-text flex-1")
COURSENAME = []
for coursename in all_coursename:
COURSENAME.append(coursename)
all_courseins = soup.find_all(class_="text-light offering-partner-names")
COURSEINSTITUTION = []
for courseins in all_courseins:
COURSEINSTITUTION.append(courseins)
all_courseurl = soup.find_all('a', class_="rc-OfferingCard nostyle")
COURSEURL = []
for courseurl in all_courseurl:
COURSEURL.append(courseurl)
csvfile = file('all_info.csv', 'wb')
writer = csv.writer(csvfile)
writer.writerow(['COURSE_NAME', 'COURSE_INSTITUTION', 'COURSE_URL'])
for i in range (0,len(COURSENAME)):
data = [
(COURSENAME[i], COURSEINSTITUTION[i], COURSEURL[i])
]
writer.writerows(data)
csvfile.close()
第一层获取URL 页面 用thread 模块,后面第二层for的直接extend 列表就好了,最后不要频繁打开关闭文件写入 先把结果存起来 最后一次写入文件
检查一下open mode =wb是怎么定义的
使用'W',文件若存在,首先要清空,然后(重新)创建
一步步调试下,看问题出在哪里,可能从html中筛选出你要的信息出错了或者筛选不出来,都有可能
内容总结
以上是互联网集市为您收集整理的python爬虫问题!在线等解答!全部内容,希望文章能够帮你解决python爬虫问题!在线等解答!所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。