如何浏览网址列表以检索页面数据 - Python

时间:2015-09-29 03:17:46

标签: python csv web-scraping beautifulsoup

在.py文件中,我有一个存储网址列表的变量。如何正确构建循环以从每个URL检索代码,以便我可以从每个页面中提取特定数据项?

这是我迄今为止所尝试过的:

import requests
import re
from bs4 import BeautifulSoup
import csv

#Read csv
csvfile = open("gymsfinal.csv")
csvfilelist = csvfile.read()
print csvfilelist

#Get data from each url
def get_page_data():
    for page_data in csvfilelist.splitlines():
        r = requests.get(page_data.strip())
        soup = BeautifulSoup(r.text, 'html.parser')
        return soup

pages = get_page_data()
print pages

1 个答案:

答案 0 :(得分:1)

如果不使用 #include <iostream> #include <iomanip> using namespace std; class BillSys{ char fname[20], lname[20], city[20], phone[11]; public: void accept(){ cout<<"Enter the name of the customer: "; cin>>fname>>lname; cout<<endl; cout<<"Enter city: "; cin>>city; cout<<endl; cout<<"Enter contact number: "; cin>>phone; cout<<endl<<endl; } void display(){ cout<<"***Customer Details***"<<endl<<endl; cout<<"First Name: "; cout<<fname; //cout<<setw(10); cout<<"\t"; cout<<"Last Name: "<<lname; cout<<endl; cout<<"City: "; cout<<city; cout<<"\t"; //cout<<setw(10); cout<<"Phone Number: "<<phone; cout<<endl; } }; int main(int argc, char** argv) { BillSys obj; obj.accept(); obj.display(); return 0; } 模块,则会将csv文件作为文本文件读取。在此处阅读有关读/写csv文件的文档:CSV File Reading and Writing

此外,您只会从当前代码中获取第一页的gymsfinal.csv内容。因为soup函数会在创建第一个汤后返回。对于您当前的代码,您可以使用函数中的get_page_data()

yield

同时关闭刚打开的文件。